p_table <- function(tab_data, ...) {
  tab_data_2 <- deparse(substitute(tab_data))
  
  table_p <- do.call(CreateTableOne, 
                     list(data = as.name(tab_data_2), includeNA = TRUE, ...))
  table_p_out <- print(table_p,
                       showAllLevels = TRUE,
                       printToggle = FALSE)
  kable(table_p_out,
        align = "c")
}
uni_var <- function(test_var, data_imp) {
                
        cat("_________________________________________________")
        cat("\n")
        cat("   \n##", test_var)
        cat("\n")
        cat("_________________________________________________")
        cat("\n")
        
        f <- as.formula(paste("Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 0)",
                              as.name(test_var),
                              sep = " ~ " ))
        
        data_imp_2 <- deparse(substitute(data_imp))
        km_fit <- do.call("survfit", list(formula = f, data = as.name(data_imp_2)))
        print(km_fit)
        cat("\n")
        print(summary(km_fit, times = c(12, 24, 36, 48, 60, 120)))
        cat("\n")
        cat("\n")
        cat("\n")
        cat("   \n## Univariable Cox Proportional Hazard Model for: ", test_var)
        cat("\n")
        cat("\n")
        n_levels <- nlevels(data_imp[[test_var]])
        if(n_levels == 1){
                print("Only one level, no Cox model performed")
                cat("\n")
        } else {
                cox_fit <- do.call("coxph", list(formula = f, data = as.name(data_imp_2)))
                print(summary(cox_fit))
                cat("\n")
                
                do.call("ggforest",
                         list(model = cox_fit, data = as.name(data_imp_2)))
        }
        cat("\n")
        cat("\n")
        cat("\n")
        cat("   \n## Unadjusted Kaplan Meier Overall Survival Curve for: ", test_var)
        p <- do.call("ggsurvplot",
                     list(fit = km_fit, data = as.name(data_imp_2),
                          palette = "jco", censor = FALSE, legend = "right",
                          linetype = "strata", xlab = "Time (Months)"))
        print(p)
}
col.width <- c(37, 10, 1, 1, 3, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 8, 2, 2, 2, 4, 4, 1, 4, 1, 1,
               1, 3, 2, 2, 8, 2, 5, 5, 5, 4, 5, 5, 5,4, 2, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 3,
               3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 8,
               8, 8, 2, 1, 1, 1, 1, 8, 1, 1, 8, 1, 1, 2, 2, 5, 2, 5, 3, 1, 3, 1, 8, 8, 2, 8,
               2, 8, 2, 2, 1, 8, 1, 1, 1, 1, 1, 8, 1, 2, 2, 2, 2, 2, 1, 1, 1, 2, 1, 3, 1, 1,
               1, 1, 1, 1, 1, 1, 1)
col.names.abr <- c("PUF_CASE_ID", "PUF_FACILITY_ID", "FACILITY_TYPE_CD", "FACILITY_LOCATION_CD",
                   "AGE", "SEX", "RACE", "SPANISH_HISPANIC_ORIGIN", "INSURANCE_STATUS",
                   "MED_INC_QUAR_00", "NO_HSD_QUAR_00", "UR_CD_03", "MED_INC_QUAR_12", "NO_HSD_QUAR_12",
                   "UR_CD_13", "CROWFLY", "CDCC_TOTAL_BEST", "SEQUENCE_NUMBER", "CLASS_OF_CASE",
                   "YEAR_OF_DIAGNOSIS", "PRIMARY_SITE", "LATERALITY", "HISTOLOGY", "BEHAVIOR", "GRADE",
                   "DIAGNOSTIC_CONFIRMATION", "TUMOR_SIZE", "REGIONAL_NODES_POSITIVE",
                   "REGIONAL_NODES_EXAMINED", "DX_STAGING_PROC_DAYS", "RX_SUMM_DXSTG_PROC", "TNM_CLIN_T",
                   "TNM_CLIN_N", "TNM_CLIN_M", "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
                   "TNM_PATH_STAGE_GROUP", "TNM_EDITION_NUMBER", "ANALYTIC_STAGE_GROUP", "CS_METS_AT_DX",
                   "CS_METS_EVAL", "CS_EXTENSION", "CS_TUMOR_SIZEEXT_EVAL", "CS_METS_DX_BONE", "CS_METS_DX_BRAIN",
                   "CS_METS_DX_LIVER", "CS_METS_DX_LUNG", "LYMPH_VASCULAR_INVASION", "CS_SITESPECIFIC_FACTOR_1",
                   "CS_SITESPECIFIC_FACTOR_2", "CS_SITESPECIFIC_FACTOR_3", "CS_SITESPECIFIC_FACTOR_4",
                   "CS_SITESPECIFIC_FACTOR_5", "CS_SITESPECIFIC_FACTOR_6", "CS_SITESPECIFIC_FACTOR_7",
                   "CS_SITESPECIFIC_FACTOR_8", "CS_SITESPECIFIC_FACTOR_9", "CS_SITESPECIFIC_FACTOR_10",
                   "CS_SITESPECIFIC_FACTOR_11", "CS_SITESPECIFIC_FACTOR_12", "CS_SITESPECIFIC_FACTOR_13",
                   "CS_SITESPECIFIC_FACTOR_14", "CS_SITESPECIFIC_FACTOR_15", "CS_SITESPECIFIC_FACTOR_16",
                   "CS_SITESPECIFIC_FACTOR_17", "CS_SITESPECIFIC_FACTOR_18", "CS_SITESPECIFIC_FACTOR_19",
                   "CS_SITESPECIFIC_FACTOR_20", "CS_SITESPECIFIC_FACTOR_21", "CS_SITESPECIFIC_FACTOR_22",
                   "CS_SITESPECIFIC_FACTOR_23", "CS_SITESPECIFIC_FACTOR_24", "CS_SITESPECIFIC_FACTOR_25",
                   "CS_VERSION_LATEST", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS", "DX_DEFSURG_STARTED_DAYS",
                   "RX_SUMM_SURG_PRIM_SITE", "RX_HOSP_SURG_APPR_2010", "RX_SUMM_SURGICAL_MARGINS",
                   "RX_SUMM_SCOPE_REG_LN_SUR", "RX_SUMM_SURG_OTH_REGDIS", "SURG_DISCHARGE_DAYS", "READM_HOSP_30_DAYS",
                   "REASON_FOR_NO_SURGERY", "DX_RAD_STARTED_DAYS", "RX_SUMM_RADIATION", "RAD_LOCATION_OF_RX",
                   "RAD_TREAT_VOL", "RAD_REGIONAL_RX_MODALITY", "RAD_REGIONAL_DOSE_CGY", "RAD_BOOST_RX_MODALITY",
                   "RAD_BOOST_DOSE_CGY", "RAD_NUM_TREAT_VOL", "RX_SUMM_SURGRAD_SEQ", "RAD_ELAPSED_RX_DAYS",
                   "REASON_FOR_NO_RADIATION", "DX_SYSTEMIC_STARTED_DAYS", "DX_CHEMO_STARTED_DAYS", "RX_SUMM_CHEMO",
                   "DX_HORMONE_STARTED_DAYS", "RX_SUMM_HORMONE", "DX_IMMUNO_STARTED_DAYS", "RX_SUMM_IMMUNOTHERAPY",
                   "RX_SUMM_TRNSPLNT_ENDO", "RX_SUMM_SYSTEMIC_SUR_SEQ", "DX_OTHER_STARTED_DAYS", "RX_SUMM_OTHER",
                   "PALLIATIVE_CARE", "RX_SUMM_TREATMENT_STATUS", "PUF_30_DAY_MORT_CD", "PUF_90_DAY_MORT_CD",
                   "DX_LASTCONTACT_DEATH_MONTHS", "PUF_VITAL_STATUS", "RX_HOSP_SURG_PRIM_SITE", "RX_HOSP_CHEMO",
                   "RX_HOSP_IMMUNOTHERAPY", "RX_HOSP_HORMONE", "RX_HOSP_OTHER", "PUF_MULT_SOURCE", "REFERENCE_DATE_FLAG",
                   "RX_SUMM_SCOPE_REG_LN_2012", "RX_HOSP_DXSTG_PROC", "PALLIATIVE_CARE_HOSP", "TUMOR_SIZE_SUMMARY",
                   "METS_AT_DX_OTHER", "METS_AT_DX_DISTANT_LN", "METS_AT_DX_BONE", "METS_AT_DX_BRAIN",
                   "METS_AT_DX_LIVER", "METS_AT_DX_LUNG", "NO_HSD_QUAR_16", "MED_INC_QUAR_16", "MEDICAID_EXPN_CODE")
#Read in data for each subsite
lip <- read_fwf('NCDBPUF_Lip.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
melanoma <- read_fwf('NCDBPUF_Melanoma.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
                       
skin <- read_fwf('NCDBPUF_OtSkin.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
hodgextr <- read_fwf('NCDBPUF_HodgExtr.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
hodgndal <- read_fwf('NCDBPUF_HodgNdal.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
NHLndal <- read_fwf('NCDBPUF_NHLNdal.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
NHLextr <- read_fwf('NCDBPUF_NHLExtr.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
breast <-  read_fwf('NCDBPUF_Breast.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
vulva <-  read_fwf('NCDBPUF_Vulva.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
vagina <-  read_fwf('NCDBPUF_Vagina.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
penis <-  read_fwf('NCDBPUF_Penis.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
otleuk <- read_fwf('NCDBPUF_OtLeuk.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
  
otheracuteleuk  <- read_fwf('NCDBPUF_OtAcLeuk.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
  
ALL  <- read_fwf('NCDBPUF_ALymLeuk.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
#Combine data for all subsites
dat <- bind_rows(lip, melanoma, skin, hodgextr, hodgndal, NHLndal, breast, 
                 vulva, vagina, penis, NHLextr, otleuk, otheracuteleuk, ALL)
rm(lip, melanoma, skin, hodgextr, hodgndal, NHLndal, breast, vulva, vagina, 
   penis, NHLextr, otleuk, otheracuteleuk, ALL)
prim_site_text <- data_frame(PRIMARY_SITE = c(
#NHL sites
"C000", 
"C001", 
"C002", 
"C003", 
"C004", 
"C005", 
"C006", 
"C008",
"C009", 
"C019", 
"C020", 
"C021",
"C022", 
"C023", 
"C024", 
"C028", 
"C029",
"C030",
"C031",
"C039", 
"C040", 
"C041", 
"C048",
"C049", 
"C050", 
"C051", 
"C052", 
"C058", 
"C059",
"C060", 
"C061", 
"C062", 
"C068", 
"C069", 
"C079",  
"C098",
"C099",
"C111",
"C142",
"C300",
"C379",
"C420",
"C422",
"C424",
#skin/melanoma
                                 "C440", "C441", "C442", "C443", "C444", "C445",
                                 "C446", "C447", "C448", "C449",
                                 
                                 #breast - nipple
                                 "C500",
                                 
                                 #vagina/vulva
                                 "C510", "C511", "C512", "C518", "C519", "C529",
                                 
                                 #penis
                                 "C600", "C601", "C602", "C608", "C609", "C639",
"C770",
"C771",
"C772",
"C773",
"C774",
"C775",
"C778",
"C779"),
SITE_TEXT = c(
"C00.0 External Lip: Upper NOS",
"C00.1 External Lip: Lower NOS",
"C00.2 External Lip: NOS",
"C00.3 Lip: Upper Mucosa",
"C00.4 Lip: Lower Mucosa",
"C00.5 Lip: Mucosa NOS",
"C00.6 Lip: Commissure",
"C00.8 Lip: Overlapping",
"C00.9 Lip NOS",
"C01.9 Tongue: Base NOS",
"C02.0 Tongue: Dorsal NOS",
"C02.1 Tongue: Border, Tip",
"C02.2 Tongue: Ventral NOS",
"C02.3 Tongue: Anterior NOS",
"C02.4 Lingual Tonsil",
"C02.8 Tongue: Overlapping",
"C02.9 Tongue: NOS",
"C03.0 Gum: Upper",
"C03.1 Gum: Lower",
"C03.9 Gum NOS",
"C04.0 Mouth: Anterior Floor",
"C04.1 Mouth: Lateral Floor",
"C04.8 Mouth: Overlapping Floor",
"C04.9 Floor of Mouth NOS",
"C05.0 Hard Palate",
"C05.1 Soft Palate NOS",
"C05.2 Uvula",
"C05.8 Palate: Overlapping",
"C05.9 Palate NOS",
"C06.0 Cheek Mucosa",
"C06.1 Mouth: Vestibule",
"C06.2 Retromolar Area",
"C06.8 Mouth: Other Overlapping",
"C06.9 Mouth NOS",
"C07.9 Parotid Gland",
  "C09.8 Tonsil: Overlapping",
  "C09.9 Tonsil NOS",
  "C11.1 Nasopharynx: Poster Wall", 
  "C14.2 Waldeyer Ring",
  "C30.0 Nasal Cavity",
  "C37.9 Thymus",
"C42.0 Blood",
  "C42.2 Spleen",
"C42.4 Hematopoietic NOS",
 #skin
"C44.0 Skin of lip, NOS",
"C44.1 Eyelid",
"C44.2 External ear",
"C44.3 Skin of ear and unspecified parts of face",
"C44.4 Skin of scalp and neck",
"C44.5 Skin of trunk",
"C44.6 Skin of upper limb and shoulder",
"C44.7 Skin of lower limb and hip",
"C44.8 Overlapping lesion of skin",
"C44.9 Skin, NOS", 
#breast
"C50.0 Nipple",
#vulva/vagina
"C51.0 Labium majus",
"C51.1 Labium minus",
"C51.2 Clitoris",
"C51.8 Overlapping lesion of vulva",
"C51.9 Vulva, NOS",
"C52.9 Vagina, NOS",
#penis
"C60.0 Prepuce",
"C60.1 Glans penis",
"C60.2 Body of penis",
"C60.8 Overlapping lesion of penis",
"C60.9 Penis",
"C63.2 Scrotum, NOS",
  "C77.0 Lymph Nodes: HeadFaceNeck",
  "C77.1 Intrathoracic Lymph Nodes",
  "C77.2 Intra-abdominal LymphNodes",
  "C77.3 Lymph Nodes of axilla or arm ",
  "C77.4 Lymph Nodes: Leg",
  "C77.5 Pelvic Lymph Nodes",
  "C77.8 Lymph Nodes: multiple region",
  "C77.9 Lymph Node NOS"))
dat <- merge(dat, prim_site_text, by = "PRIMARY_SITE", all.x = TRUE) 
rm(prim_site_text)
# convert numeric variables from character class to numeric class
num_vars <- c("AGE", "CROWFLY", "TUMOR_SIZE", "DX_STAGING_PROC_DAYS", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
              "DX_DEFSURG_STARTED_DAYS", "SURG_DISCHARGE_DAYS", "DX_RAD_STARTED_DAYS",  "RAD_REGIONAL_DOSE_CGY",
              "RAD_BOOST_DOSE_CGY", "RAD_ELAPSED_RX_DAYS", "DX_SYSTEMIC_STARTED_DAYS", "DX_CHEMO_STARTED_DAYS", 
              "DX_HORMONE_STARTED_DAYS", "DX_OTHER_STARTED_DAYS", "DX_LASTCONTACT_DEATH_MONTHS",
              "RAD_NUM_TREAT_VOL")
dat[num_vars] <- lapply(dat[num_vars], as.numeric)
# convert factor variables from character class to factor class
vars <- names(dat)
fact_vars <- vars[!(vars %in% num_vars)] # basically all of the non-numerics
dat[fact_vars] <- lapply(dat[fact_vars], as.character)
dat[fact_vars] <- lapply(dat[fact_vars], as.factor)
dat <- dat %>%
        mutate(FACILITY_TYPE_F = fct_recode(FACILITY_TYPE_CD,
                                            "Community Cancer Program" = "1",
                                            "Comprehensive Comm Ca Program" = "2",
                                            "Academic/Research Program" = "3",
                                            "Integrated Network Ca Program" = "4",
                                            "Other" = "9")) %>%
        mutate(FACILITY_LOCATION_F = fct_recode(FACILITY_LOCATION_CD,
                                            "New England" = "1",
                                            "Middle Atlantic" = "2",
                                            "South Atlantic" = "3",
                                            "East North Central" = "4",
                                            "East South Central" = "5",
                                            "West North Central" = "6",
                                            "West South Central" = "7",
                                            "Mountain" = "8",
                                            "Pacific" = "9",
                                            "out of US" = "0")) %>%
        mutate(FACILITY_GEOGRAPHY = fct_collapse(FACILITY_LOCATION_CD,
                                                 "Northeast" = c("1", "2"),
                                                 "South" = c("3", "7"),
                                                 "Midwest" = c("4", "5", "6"),
                                                 "West" = c("8", "9"))) %>%
        mutate(AGE_F = cut(AGE, c(0, 54, 64, 74, 100))) %>%
        mutate(AGE_40 = cut(AGE, c(0, 40, 100))) %>%
        mutate(SEX_F = fct_recode(SEX,
                                "Male" = "1",
                                "Female" = "2")) %>%
        mutate(RACE_F = fct_collapse(RACE,
                                "White" = c("01"),
                                "Black" = c("02"),
                                "Asian" = c("04", "05", "06", "07", "08", "10", "11", "12", "13", "14", "15",
                                            "16", "17", "20", "21", "22", "25", "26", "27", "28", "30", "31",
                                            "32", "96", "97"),
                                "Other/Unk" = c("03", "98", "99"))) %>%
        mutate(HISPANIC = fct_collapse(SPANISH_HISPANIC_ORIGIN,
                                       "Yes" = c("1", "2", "3", "4", "5", "6", "7", "8"),
                                       "No" = c("0"),
                                       "Unknown" = c("9"))) %>%
        mutate(INSURANCE_F = fct_recode(INSURANCE_STATUS,
                                         "None" = "0",
                                         "Private" = "1",
                                         "Medicaid" = "2",
                                         "Medicare" = "3",
                                         "Other Government" = "4",
                                         "Unknown" = "9")) %>%
        mutate(INSURANCE_F = fct_relevel(INSURANCE_F,
                                         "Private")) %>%
        mutate(INCOME_F = fct_recode(MED_INC_QUAR_12,
                                      "Less than $38,000" = "1",
                                      "$38,000 - $47,999" = "2",
                                      "$48,000 - $62,999" = "3",
                                      "$63,000 +" = "4")) %>%
        mutate(EDUCATION_F = fct_recode(NO_HSD_QUAR_12,
                                        "21% or more" = "1",
                                        "13 - 20.9%" = "2",
                                        "7 - 12.9%" = "3",
                                        "Less than 7%" = "4")) %>%
        mutate(U_R_F = fct_collapse(UR_CD_13,
                                    "Metro" = c("1", "2", "3"),
                                    "Urban" = c("4", "5", "6", "7"),
                                    "Rural" = c("8", "9"))) %>%
        mutate(CLASS_OF_CASE_F = fct_collapse(CLASS_OF_CASE,
                                              All_Part_Prim = c("10", "11", "12", "13",
                                                                "14", "20", "21", "22"),
                                              Other_Facility = c("00"))) %>%
        mutate(GRADE_F = fct_recode(GRADE,
                                  "Gr I: Well Diff" = "1",
                                  "Gr II: Mod Diff" = "2",
                                  "Gr III: Poor Diff" = "3",
                                  "Gr IV: Undiff/Anaplastic" = "4",
                                  "NA/Unkown" = "9")) %>%
        mutate(HISTOLOGY_F = fct_infreq(HISTOLOGY)) %>%
        mutate(HISTOLOGY_F = factor(HISTOLOGY_F)) %>%
        mutate(HISTOLOGY_F_LIM = fct_lump(HISTOLOGY_F, prop = 0.05)) %>%
        mutate(TNM_CLIN_T = fct_recode(TNM_CLIN_T,
                                       "N_A" = "88")) %>%
        mutate(TNM_CLIN_T = fct_relevel(TNM_CLIN_T,
                                        "1")) %>%
        mutate(TNM_CLIN_N = fct_recode(TNM_CLIN_N,
                                       "N_A" = "88")) %>%
        mutate(TNM_CLIN_M = fct_recode(TNM_CLIN_M,
                                       "N_A" = "88")) %>%
        mutate(TNM_PATH_T = fct_recode(TNM_PATH_T,
                                       "N_A" = "88")) %>%
        mutate(TNM_PATH_T = fct_relevel(TNM_PATH_T,
                                        "1")) %>%
        mutate(TNM_PATH_N = fct_recode(TNM_PATH_N,
                                       "N_A" = "88")) %>%
        mutate(TNM_PATH_M = fct_recode(TNM_PATH_M,
                                       "N_A" = "88")) %>%
        mutate(TNM_CLIN_STAGE_GROUP = fct_recode(TNM_CLIN_STAGE_GROUP,
                                       "N_A" = "88")) %>%
        mutate(TNM_PATH_STAGE_GROUP = fct_recode(TNM_PATH_STAGE_GROUP,
                                       "N_A" = "88")) %>%
        mutate(MARGINS = fct_recode(RX_SUMM_SURGICAL_MARGINS,
                                    "No Residual" = "0",
                                    "Residual, NOS" = "1",
                                    "Microscopic Resid" = "2",
                                    "Macroscopic Resid" = "3",
                                    "Not evaluable" = "7",
                                    "No surg" = "8",
                                    "Unknown" = "9")) %>%
        mutate(MARGINS_YN = fct_collapse(RX_SUMM_SURGICAL_MARGINS,
                                         "Yes" = c("1", "2", "3"),
                                         "No" = c("0"),
                                         "No surg/Unk/NA" = c("7", "8", "9"))) %>%
        mutate(READM_HOSP_30_DAYS_F = fct_recode(READM_HOSP_30_DAYS,
                                                 "No_Surg_or_No_Readmit" = "0",
                                                 "Unplan_Readmit_Same" = "1",
                                                 "Plan_Readmit_Same" = "2",
                                                 "PlanUnplan_Same" = "3",
                                                 "Unknown" = "4")) %>%
        mutate(RX_SUMM_RADIATION_F = fct_recode(RX_SUMM_RADIATION,
                                                "None" = "0",
                                                "Beam Radiation" = "1",
                                                "Radioactive Implants" = "2",
                                                "Radioisotopes" = "3",
                                                "Beam + Imp or Isotopes" = "4",
                                                "Radiation, NOS" = "5",
                                                "Unknown" = "9")) %>%
        mutate(PUF_30_DAY_MORT_CD_F = fct_recode(PUF_30_DAY_MORT_CD,
                                                 "Alive_30" = "0",
                                                 "Dead_30" = "1",
                                                 "Unknown" = "9")) %>%
        mutate(PUF_90_DAY_MORT_CD_F = fct_recode(PUF_90_DAY_MORT_CD,
                                                 "Alive_90" = "0",
                                                 "Dead_90" = "1",
                                                 "Unknown" = "9")) %>%
        mutate(LYMPH_VASCULAR_INVASION_F = fct_recode(LYMPH_VASCULAR_INVASION,
                                                      "Neg_LymphVasc_Inv" = "0",
                                                      "Pos_LumphVasc_Inv" = "1",
                                                      "N_A" = "8",
                                                      "Unknown" = "9")) %>%
        mutate(RX_HOSP_SURG_APPR_2010_F = fct_recode(RX_HOSP_SURG_APPR_2010,
                                                     "No_Surg" = "0",
                                                     "Robot_Assist" = "1",
                                                     "Robot_to_Open" = "2",
                                                     "Endo_Lap" = "3",
                                                     "Endo_Lap_to_Open" = "4",
                                                     "Open_Unknown" = "5",
                                                     "Unknown" = "9")) %>%
        mutate(All = "All") %>%
        mutate(All = factor(All)) %>%
        mutate(REASON_FOR_NO_SURGERY_F = fct_recode(REASON_FOR_NO_SURGERY,
                                                    "Surg performed" = "0",
                                                    "Surg not recommended" = "1",
                                                    "No surg due to pt factors" = "2",
                                                    "No surg, pt died" = "5",
                                                    "Surg rec, not done" = "6",
                                                    "Surg rec, pt refused" = "7",
                                                    "Surg rec, unk if done" = "8",
                                                    "Unknown" = "9")) %>%
        mutate(SURGERY_YN = ifelse(REASON_FOR_NO_SURGERY == "0",
                                   "Yes",
                                   ifelse(REASON_FOR_NO_SURGERY == "9",
                                          "Ukn",
                                          "No"))) %>%
        mutate(SURG_TF = case_when(SURGERY_YN == "Yes" ~ TRUE,
                             SURGERY_YN == "No" ~ FALSE,
                             TRUE ~ NA))  %>%
        mutate(REASON_FOR_NO_RADIATION_F = fct_recode(REASON_FOR_NO_RADIATION,
                                                    "Rad performed" = "0",
                                                    "Rad not recommended" = "1",
                                                    "No Rad due to pt factors" = "2",
                                                    "No Rad, pt died" = "5",
                                                    "Rad rec, not done" = "6",
                                                    "Rad rec, pt refused" = "7",
                                                    "Rad rec, unk if done" = "8",
                                                    "Unknown" = "9")) %>%
        mutate(RADIATION_YN = ifelse(REASON_FOR_NO_RADIATION == "0",
                                   "Yes",
                                   ifelse(REASON_FOR_NO_RADIATION == "9",
                                          NA,
                                          "No"))) %>%
        mutate(SURGRAD_SEQ_F = fct_recode(RX_SUMM_SURGRAD_SEQ,
                                                   "None or Surg or Rad" = "0",
                                                   "Rad before Surg" = "2",
                                                   "Surg before Rad" = "3",
                                                   "Rad before and after Surg" = "4",
                                                   "Intraop Rad" = "5",
                                                   "Intraop Rad plus other" = "6",
                                                   "Unknown" = "9")) %>%
        mutate(SURG_RAD_SEQ = ifelse(SURGERY_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0",
                                     "Surg Alone",
                                     ifelse(RADIATION_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0",
                                            "Rad Alone",
                                            ifelse(SURGERY_YN == "No" & RADIATION_YN == "No" & RX_SUMM_SURGRAD_SEQ == "0",
                                                   "No Treatment",
                                                   ifelse(RX_SUMM_SURGRAD_SEQ == "2",
                                                          "Rad then Surg",
                                                          ifelse(RX_SUMM_SURGRAD_SEQ == "3",
                                                                 "Surg then Rad",
                                                                 ifelse(RX_SUMM_SURGRAD_SEQ == "4",
                                                                        "Rad before and after Surg",
                                                                        "Other"))))))) %>%
        mutate(SURG_RAD_SEQ = fct_relevel(SURG_RAD_SEQ,
                                          "Surg Alone",
                                          "Surg then Rad",
                                          "Rad Alone")) %>%
        mutate(CHEMO_YN = fct_collapse(RX_SUMM_CHEMO,
                                       "No" = c("00", "82", "85", "86", "87"),
                                       "Yes" = c("01", "02", "03"),
                                       "Ukn" = c("88", "99"))) %>%
        mutate(SURG_RAD_SEQ_C = ifelse(SURGERY_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "No",
                                     "Surg, No rad, No Chemo",
                                     ifelse(RADIATION_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "No",
                                            "Rad, No Surg, No Chemo",
                                            ifelse(SURGERY_YN == "No" & RADIATION_YN == "No" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "No",
                                                   "No Surg, No Rad, No Chemo",
                                                   ifelse(RX_SUMM_SURGRAD_SEQ == "2" & CHEMO_YN == "No",
                                                          "Rad then Surg, No Chemo",
                                                          ifelse(RX_SUMM_SURGRAD_SEQ == "3" & CHEMO_YN == "No",
                                                                 "Surg then Rad, No Chemo",
                                                                 ifelse(RX_SUMM_SURGRAD_SEQ == "4" & CHEMO_YN == "No",
                                                                        "Rad before and after Surg, No Chemo",
                                ifelse(SURGERY_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "Yes",
                                       "Surg, No rad, Yes Chemo",
                                       ifelse(RADIATION_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "Yes",
                                              "Rad, No Surg, Yes Chemo",
                                              ifelse(SURGERY_YN == "No" & RADIATION_YN == "No" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "Yes",
                                                     "No Surg, No Rad, Yes Chemo",
                                                     ifelse(RX_SUMM_SURGRAD_SEQ == "2" & CHEMO_YN == "Yes",
                                                            "Rad then Surg, Yes Chemo",
                                                            ifelse(RX_SUMM_SURGRAD_SEQ == "3" & CHEMO_YN == "Yes",
                                                                   "Surg then Rad, Yes Chemo",
                                                                   ifelse(RX_SUMM_SURGRAD_SEQ == "4" & CHEMO_YN == "Yes",
                                                                          "Rad before and after Surg, Yes Chemo",
                                                                          "Other"))))))))))))) %>%
        mutate(SURG_RAD_SEQ_C = fct_infreq(SURG_RAD_SEQ_C)) %>%
        mutate(T_SIZE = as.numeric(TUMOR_SIZE)) %>%
        mutate(T_SIZE = ifelse(T_SIZE == 0,
                                "No Tumor",
                                ifelse(T_SIZE > 0 & T_SIZE < 10 | T_SIZE == 991,
                                       "< 1 cm",
                                       ifelse(T_SIZE >= 10 & T_SIZE < 20 | T_SIZE == 992,
                                              "1-2 cm",
                                              ifelse(T_SIZE >= 20 & T_SIZE < 30 | T_SIZE == 993,
                                                     "2-3 cm",
                                                     ifelse(T_SIZE >= 30 & T_SIZE < 40 | T_SIZE == 994,
                                                            "3-4 cm",
                                                            ifelse(T_SIZE >= 40 & T_SIZE < 50 | T_SIZE == 995,
                                                                   "4-5 cm",
                                                                   ifelse(T_SIZE >= 50 & T_SIZE < 60 | T_SIZE == 996,
                                                                          "5-6 cm",
                                                                          ifelse(T_SIZE >= 60 & T_SIZE <= 987 |
                                                                                         T_SIZE == 980 | T_SIZE == 989 |
                                                                                         T_SIZE == 997,
                                                                          ">6 cm",
                                                                          ifelse(T_SIZE == 988 | T_SIZE == 999,
                                                                                 "NA_unk",
                                                                                 "Microscopic focus")))))))))) %>%
        mutate(T_SIZE = factor(T_SIZE)) %>%
        mutate(T_SIZE = fct_relevel(T_SIZE,
                                     "No Tumor", "Microscopic focus", "< 1 cm", "1-2 cm", "2-3 cm", "3-4 cm",
                                       "4-5 cm", "5-6 cm", ">6 cm", "NA_unk")) %>%
        mutate(mets_at_dx = case_when(CS_METS_DX_LUNG == "1" ~ "Lung",
                                      CS_METS_DX_BONE == "1" ~ "Bone",
                                      CS_METS_DX_BRAIN == "1" ~ "Brain",
                                      CS_METS_DX_LIVER == "1" ~ "Liver",
                                      TRUE ~ "None/Other/Unk/NA")) %>%
        mutate(MEDICAID_EXPN_CODE = fct_recode(MEDICAID_EXPN_CODE,
                                               "Non-Expansion State" = "0",
                                               "Jan 2014 Expansion States" = "1",
                                               "Early Expansion States (2010-13)" = "2",
                                               "Late Expansion States (> Jan 2014)" = "3",
                                               "Suppressed for Ages 0 - 39" = "9"))  %>%
        mutate(EXPN_GROUP =  case_when(MEDICAID_EXPN_CODE  %in% c("Jan 2014 Expansion States") & 
                                         YEAR_OF_DIAGNOSIS %in% c("2014", "2015") ~ "Post-Expansion",
                                       
                                       MEDICAID_EXPN_CODE  %in% c("Jan 2014 Expansion States") & 
                                         YEAR_OF_DIAGNOSIS %in% 
                                          c("2004", "2005", "2006", "2007", "2008", 
                                            "2009", "2010", "2011", "2012", "2013") ~ "Pre-Expansion",
               
                                       MEDICAID_EXPN_CODE  %in% c("Early Expansion States (2010-13)") & 
                                         YEAR_OF_DIAGNOSIS %in% c("2010", "2011", "2012", "2013", "2014", "2015") ~ "Post-Expansion",
                                       
                                        MEDICAID_EXPN_CODE  %in% c("Early Expansion States (2010-13)") & 
                                         YEAR_OF_DIAGNOSIS %in% c("2004", "2005", "2006", "2007", "2008", "2009") ~ "Pre-Expansion",
                                       MEDICAID_EXPN_CODE %in% c("Non-Expansion State") ~ "Pre-Expansion",
                                       MEDICAID_EXPN_CODE %in% c("Late Expansion States (> Jan 2014)") ~ "Pre-Expansion",
                    
                                       MEDICAID_EXPN_CODE %in% c("Late Expansion States (> Jan 2014)") & 
                                        YEAR_OF_DIAGNOSIS %in% c("2014", "2015") ~ "Exclude",
                                       
                                       MEDICAID_EXPN_CODE == "Suppressed for Ages 0 - 39" ~ "Exclude")) %>%
  
  mutate(pre_2014 = YEAR_OF_DIAGNOSIS %in% c("2004", "2005", "2006", "2007", "2008", 
                                            "2009", "2010", "2011", "2012", "2013")) %>%
  
  mutate(mets_at_dx_F = ifelse(mets_at_dx == "None/Other/Unk/NA", FALSE, TRUE)) %>% 
  
  mutate(Tx_YN = ifelse(SURG_RAD_SEQ == "No Treatment" & CHEMO_YN == "No", FALSE, 
                        ifelse(CHEMO_YN == "Ukn", NA, 
                               TRUE)))
fact_vars_2 <- c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "AGE_F", "SEX_F", "RACE_F",
                 "HISPANIC", "INSURANCE_F", "INCOME_F", "EDUCATION_F", "U_R_F",
                 "CDCC_TOTAL_BEST", "CLASS_OF_CASE_F", "YEAR_OF_DIAGNOSIS", "PRIMARY_SITE", "HISTOLOGY",
                 "BEHAVIOR", "GRADE_F", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
                 "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M", "TNM_PATH_STAGE_GROUP",
                 "MARGINS", "READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
                 "PUF_90_DAY_MORT_CD_F", "LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "mets_at_dx")
dat <- dat %>%
        mutate_at(fact_vars_2, funs(factor(.)))

Extract Data of Interest

# Non-Hodgkin Lymphoma Sites
site_code <- c("C001","C098", "C099", "C111", "C142", "C379", "C422","C770",
"C771","C772","C773","C774", "C775", "C778","C779", 
#additional sites
"C300", "C019", "C021", 
"C029", "C030", "C039", "C049", "C050", "C051", "C052",  "C058", "C059", "C060",
"C061", "C069", "C000", "C001", "C002", "C003", "C004", "C005", "C006", "C008",
"C009", "C019", "C020", "C021", "C022", "C023", "C024", "C028", "C029", "C030",
"C031", "C039", "C040", "C041", "C049", "C050", "C051", "C052", "C058", "C059",
"C060", "C061", "C062", "C068", "C069", "C079",
 #lip  
  "C000", "C001", "C002", "C003", "C004", "C005","C006", "C008","C009",
                                  
                                 
#skin/melanoma
  "C440", "C441", "C442", "C443", "C444", "C445", "C446", "C447", "C448", "C449",
                                 
 #breast - nipple
  "C500",
                                 
#vagina/vulva
  "C510", "C511", "C512", "C518", "C519", "C529",
                                 
#penis
 "C600", "C601", "C602", "C608", "C609", "C639")
#mycosis fungoides, Sezary syndrome, subcutaneous panniculitis-like T-cell lymphoma,
#cutaneous T-cell lymphoma, NOS, primary cutaneous CD30+T-cell lymphoma, 
#NK/T-cell lymphoma, primary cutaneous gamma-delta T-cell lymphoma, 
#and blastic NK cell lymphoma, respectively
histo_code <- c("9700", "9701", "9708", "9709", "9718", "9719", "9726", "9727")
behavior_code <- c("3")
data <- dat %>%
        filter(BEHAVIOR %in% behavior_code) %>%
        filter(PRIMARY_SITE %in% site_code) %>%
        filter(HISTOLOGY %in% histo_code) %>%
        #filter(AGE >= 18) %>%
        filter(is.na(PUF_VITAL_STATUS) == FALSE) %>%
        filter(is.na(DX_LASTCONTACT_DEATH_MONTHS) == FALSE)  %>%
        filter(SEQUENCE_NUMBER == "00") 
#file_path <- c("/Users/beastatlife/Google Drive/Penn/Research/Barbieri/NCDB")
#save(data,
#      file = paste0(file_path, "/CTCL_data.Rda"))
#load("MF_data.Rda")

Data including skin tumors was obtained from the NCBD on October 7, 2019. Cases that were included in this analysis were those with:

  1. Site codes: C001, C098, C099, C111, C142, C379, C422, C770, C771, C772, C773, C774, C775, C778, C779, C300, C019, C021, C029, C030, C039, C049, C050, C051, C052, C058, C059, C060, C061, C069, C000, C001, C002, C003, C004, C005, C006, C008, C009, C019, C020, C021, C022, C023, C024, C028, C029, C030, C031, C039, C040, C041, C049, C050, C051, C052, C058, C059, C060, C061, C062, C068, C069, C079, C000, C001, C002, C003, C004, C005, C006, C008, C009, C440, C441, C442, C443, C444, C445, C446, C447, C448, C449, C500, C510, C511, C512, C518, C519, C529, C600, C601, C602, C608, C609, C639
  2. Histology codes: 9700, 9701, 9708, 9709, 9718, 9719, 9726, 9727
  3. Behavior codes: 3

Patients were excluded if they didn’t have values for either follow up or vital status.

Patients were excluded if they had surgery to a distant site using RX_SUMM_SURG_OTH_REGDIS. This was done to avoid confounding of different surgical procedures. We are only interested in surgery at the primary site. These distant site surgeries were being counted in the surgery/radiation sequence and thus to simplify analysis they were removed.

data %>%
        CreateTableOne(data = .,
                     vars = c("RX_SUMM_SURG_OTH_REGDIS"),
                     includeNA = TRUE) %>%
        print(.,
              showAllLevels = TRUE)
                             
                              level Overall      
  n                                 12329        
  RX_SUMM_SURG_OTH_REGDIS (%) 0     11998 (97.3) 
                              1        48 ( 0.4) 
                              2        21 ( 0.2) 
                              3         9 ( 0.1) 
                              4        25 ( 0.2) 
                              5         2 ( 0.0) 
                              9       226 ( 1.8) 
data <- data %>%
        filter(RX_SUMM_SURG_OTH_REGDIS == "0") 

Race was grouped as white, black, asian, other/unknown Stage was grouped into 0, I, II, III, IV, NA_Unknown, stage 0 was removed Whether surgery was performed was based on the REASON_FOR_NO_SURGERY variable. The SURGERY_YN variable was classified as ‘Yes’, ‘No’, or ‘Unknown’.

Whether radiation was performed was based on the REASON_FOR_NO_RADIATION variable. The RADIATION_YN variable was classified as ‘Yes’, ‘No’, or ‘Unknown’.

Table of variables for all cases:

p_table(data,
        vars = c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "FACILITY_GEOGRAPHY",  "AGE", "AGE_F", "AGE_40",
                 "SEX_F", "RACE_F", "HISPANIC", "INSURANCE_F", 
                 "INCOME_F", "EDUCATION_F", "U_R_F", "CROWFLY", "CDCC_TOTAL_BEST",
                 "SITE_TEXT", "BEHAVIOR", "GRADE_F",
                 "DX_STAGING_PROC_DAYS", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
                 "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
                 "TNM_PATH_STAGE_GROUP", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
                 "DX_DEFSURG_STARTED_DAYS", "MARGINS", "MARGINS_YN", "SURG_DISCHARGE_DAYS",
                 "READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
                 "PUF_90_DAY_MORT_CD_F", "DX_LASTCONTACT_DEATH_MONTHS", 
                 "LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "SURG_RAD_SEQ",
                 "SURG_RAD_SEQ_C", "SURGERY_YN", "RADIATION_YN", "CHEMO_YN", "mets_at_dx",
                 "MEDICAID_EXPN_CODE", "EXPN_GROUP"))
level Overall
n 11998
FACILITY_TYPE_F (%) Community Cancer Program 409 ( 3.4)
Comprehensive Comm Ca Program 1903 ( 15.9)
Academic/Research Program 6745 ( 56.2)
Integrated Network Ca Program 705 ( 5.9)
NA 2236 ( 18.6)
FACILITY_LOCATION_F (%) New England 683 ( 5.7)
Middle Atlantic 2098 ( 17.5)
South Atlantic 2063 ( 17.2)
East North Central 1653 ( 13.8)
East South Central 531 ( 4.4)
West North Central 646 ( 5.4)
West South Central 559 ( 4.7)
Mountain 475 ( 4.0)
Pacific 1054 ( 8.8)
NA 2236 ( 18.6)
FACILITY_GEOGRAPHY (%) Northeast 2781 ( 23.2)
South 2622 ( 21.9)
Midwest 2830 ( 23.6)
West 1529 ( 12.7)
NA 2236 ( 18.6)
AGE (mean (sd)) 55.78 (18.32)
AGE_F (%) (0,54] 5207 ( 43.4)
(54,64] 2666 ( 22.2)
(64,74] 2259 ( 18.8)
(74,100] 1861 ( 15.5)
NA 5 ( 0.0)
AGE_40 (%) (0,40] 2371 ( 19.8)
(40,100] 9622 ( 80.2)
NA 5 ( 0.0)
SEX_F (%) Male 6959 ( 58.0)
Female 5039 ( 42.0)
RACE_F (%) White 9070 ( 75.6)
Black 2031 ( 16.9)
Other/Unk 465 ( 3.9)
Asian 432 ( 3.6)
HISPANIC (%) No 10462 ( 87.2)
Yes 961 ( 8.0)
Unknown 575 ( 4.8)
INSURANCE_F (%) Private 6315 ( 52.6)
None 497 ( 4.1)
Medicaid 842 ( 7.0)
Medicare 3854 ( 32.1)
Other Government 172 ( 1.4)
Unknown 318 ( 2.7)
INCOME_F (%) Less than $38,000 2009 ( 16.7)
$38,000 - $47,999 2457 ( 20.5)
$48,000 - $62,999 3165 ( 26.4)
$63,000 + 4294 ( 35.8)
NA 73 ( 0.6)
EDUCATION_F (%) 21% or more 1977 ( 16.5)
13 - 20.9% 2912 ( 24.3)
7 - 12.9% 3791 ( 31.6)
Less than 7% 3252 ( 27.1)
NA 66 ( 0.6)
U_R_F (%) Metro 10196 ( 85.0)
Urban 1306 ( 10.9)
Rural 154 ( 1.3)
NA 342 ( 2.9)
CROWFLY (mean (sd)) 40.79 (120.92)
CDCC_TOTAL_BEST (%) 0 10671 ( 88.9)
1 1011 ( 8.4)
2 222 ( 1.9)
3 94 ( 0.8)
SITE_TEXT (%) C00.0 External Lip: Upper NOS 0 ( 0.0)
C00.1 External Lip: Lower NOS 0 ( 0.0)
C00.2 External Lip: NOS 0 ( 0.0)
C00.3 Lip: Upper Mucosa 0 ( 0.0)
C00.4 Lip: Lower Mucosa 0 ( 0.0)
C00.5 Lip: Mucosa NOS 0 ( 0.0)
C00.6 Lip: Commissure 0 ( 0.0)
C00.8 Lip: Overlapping 0 ( 0.0)
C00.9 Lip NOS 0 ( 0.0)
C01.9 Tongue: Base NOS 5 ( 0.0)
C02.0 Tongue: Dorsal NOS 0 ( 0.0)
C02.1 Tongue: Border, Tip 1 ( 0.0)
C02.2 Tongue: Ventral NOS 0 ( 0.0)
C02.3 Tongue: Anterior NOS 0 ( 0.0)
C02.4 Lingual Tonsil 0 ( 0.0)
C02.8 Tongue: Overlapping 0 ( 0.0)
C02.9 Tongue: NOS 1 ( 0.0)
C03.0 Gum: Upper 1 ( 0.0)
C03.1 Gum: Lower 0 ( 0.0)
C03.9 Gum NOS 1 ( 0.0)
C04.0 Mouth: Anterior Floor 0 ( 0.0)
C04.1 Mouth: Lateral Floor 0 ( 0.0)
C04.9 Floor of Mouth NOS 1 ( 0.0)
C05.0 Hard Palate 15 ( 0.1)
C05.1 Soft Palate NOS 9 ( 0.1)
C05.2 Uvula 0 ( 0.0)
C05.8 Palate: Overlapping 2 ( 0.0)
C05.9 Palate NOS 4 ( 0.0)
C06.0 Cheek Mucosa 3 ( 0.0)
C06.1 Mouth: Vestibule 2 ( 0.0)
C06.2 Retromolar Area 0 ( 0.0)
C06.8 Mouth: Other Overlapping 0 ( 0.0)
C06.9 Mouth NOS 1 ( 0.0)
C07.9 Parotid Gland 1 ( 0.0)
C09.8 Tonsil: Overlapping 1 ( 0.0)
C09.9 Tonsil NOS 9 ( 0.1)
C11.1 Nasopharynx: Poster Wall 2 ( 0.0)
C14.2 Waldeyer Ring 4 ( 0.0)
C30.0 Nasal Cavity 572 ( 4.8)
C37.9 Thymus 4 ( 0.0)
C42.0 Blood 0 ( 0.0)
C42.2 Spleen 4 ( 0.0)
C42.4 Hematopoietic NOS 0 ( 0.0)
C44.0 Skin of lip, NOS 38 ( 0.3)
C44.1 Eyelid 31 ( 0.3)
C44.2 External ear 51 ( 0.4)
C44.3 Skin of ear and unspecified parts of face 721 ( 6.0)
C44.4 Skin of scalp and neck 416 ( 3.5)
C44.5 Skin of trunk 1762 ( 14.7)
C44.6 Skin of upper limb and shoulder 866 ( 7.2)
C44.7 Skin of lower limb and hip 1210 ( 10.1)
C44.8 Overlapping lesion of skin 820 ( 6.8)
C44.9 Skin, NOS 4677 ( 39.0)
C50.0 Nipple 1 ( 0.0)
C51.0 Labium majus 0 ( 0.0)
C51.1 Labium minus 0 ( 0.0)
C51.2 Clitoris 0 ( 0.0)
C51.8 Overlapping lesion of vulva 0 ( 0.0)
C51.9 Vulva, NOS 6 ( 0.1)
C52.9 Vagina, NOS 2 ( 0.0)
C60.0 Prepuce 2 ( 0.0)
C60.1 Glans penis 0 ( 0.0)
C60.2 Body of penis 0 ( 0.0)
C60.8 Overlapping lesion of penis 0 ( 0.0)
C60.9 Penis 4 ( 0.0)
C63.2 Scrotum, NOS 0 ( 0.0)
C77.0 Lymph Nodes: HeadFaceNeck 75 ( 0.6)
C77.1 Intrathoracic Lymph Nodes 97 ( 0.8)
C77.2 Intra-abdominal LymphNodes 27 ( 0.2)
C77.3 Lymph Nodes of axilla or arm 26 ( 0.2)
C77.4 Lymph Nodes: Leg 20 ( 0.2)
C77.5 Pelvic Lymph Nodes 6 ( 0.1)
C77.8 Lymph Nodes: multiple region 226 ( 1.9)
C77.9 Lymph Node NOS 271 ( 2.3)
BEHAVIOR (%) 2 0 ( 0.0)
3 11998 (100.0)
GRADE_F (%) Gr I: Well Diff 10 ( 0.1)
Gr II: Mod Diff 9 ( 0.1)
Gr III: Poor Diff 9 ( 0.1)
Gr IV: Undiff/Anaplastic 35 ( 0.3)
5 8445 ( 70.4)
6 433 ( 3.6)
7 14 ( 0.1)
8 679 ( 5.7)
NA/Unkown 2364 ( 19.7)
DX_STAGING_PROC_DAYS (mean (sd)) 3.89 (51.09)
TNM_CLIN_T (%) N_A 6035 ( 50.3)
c0 0 ( 0.0)
c1 1675 ( 14.0)
c1A 248 ( 2.1)
c1B 118 ( 1.0)
c1C 0 ( 0.0)
c1MI 0 ( 0.0)
c2 811 ( 6.8)
c2A 82 ( 0.7)
c2B 112 ( 0.9)
c2C 0 ( 0.0)
c2D 0 ( 0.0)
c3 399 ( 3.3)
c3A 0 ( 0.0)
c3B 0 ( 0.0)
c4 438 ( 3.7)
c4A 0 ( 0.0)
c4B 0 ( 0.0)
c4C 0 ( 0.0)
c4D 0 ( 0.0)
cX 1758 ( 14.7)
pA 0 ( 0.0)
pIS 0 ( 0.0)
NA 322 ( 2.7)
TNM_CLIN_N (%) N_A 6034 ( 50.3)
c0 3401 ( 28.3)
c1 194 ( 1.6)
c1A 10 ( 0.1)
c1B 9 ( 0.1)
c2 33 ( 0.3)
c2A 1 ( 0.0)
c2B 6 ( 0.1)
c2C 0 ( 0.0)
c3 62 ( 0.5)
c3A 0 ( 0.0)
c3B 0 ( 0.0)
c3C 0 ( 0.0)
c4 0 ( 0.0)
cX 1942 ( 16.2)
NA 306 ( 2.6)
TNM_CLIN_M (%) N_A 6034 ( 50.3)
c0 5398 ( 45.0)
c0I+ 0 ( 0.0)
c1 72 ( 0.6)
c1A 1 ( 0.0)
c1B 0 ( 0.0)
c1C 0 ( 0.0)
NA 493 ( 4.1)
TNM_CLIN_STAGE_GROUP (%) 0 0 ( 0.0)
1 1669 ( 13.9)
1A 3925 ( 32.7)
1B 1385 ( 11.5)
1C 0 ( 0.0)
2 249 ( 2.1)
2A 304 ( 2.5)
2B 563 ( 4.7)
2C 0 ( 0.0)
3 178 ( 1.5)
3A 318 ( 2.7)
3B 156 ( 1.3)
3C 0 ( 0.0)
4 559 ( 4.7)
4A 457 ( 3.8)
4A1 75 ( 0.6)
4A2 31 ( 0.3)
4B 287 ( 2.4)
4C 0 ( 0.0)
N_A 31 ( 0.3)
99 1804 ( 15.0)
NA 7 ( 0.1)
TNM_PATH_T (%) N_A 5946 ( 49.6)
p0 0 ( 0.0)
p1 786 ( 6.6)
p1A 89 ( 0.7)
p1B 41 ( 0.3)
p1C 0 ( 0.0)
p1MI 0 ( 0.0)
p2 352 ( 2.9)
p2A 19 ( 0.2)
p2B 33 ( 0.3)
p2C 0 ( 0.0)
p2D 0 ( 0.0)
p3 165 ( 1.4)
p3A 0 ( 0.0)
p3B 0 ( 0.0)
p4 196 ( 1.6)
p4A 0 ( 0.0)
p4B 0 ( 0.0)
p4C 0 ( 0.0)
p4D 0 ( 0.0)
pA 0 ( 0.0)
pIS 0 ( 0.0)
pX 2225 ( 18.5)
NA 2146 ( 17.9)
TNM_PATH_N (%) N_A 5944 ( 49.5)
p0 762 ( 6.4)
p0I- 0 ( 0.0)
p0I+ 0 ( 0.0)
p0M- 0 ( 0.0)
p0M+ 0 ( 0.0)
p1 45 ( 0.4)
p1A 4 ( 0.0)
p1B 4 ( 0.0)
p1C 0 ( 0.0)
p1MI 0 ( 0.0)
p2 17 ( 0.1)
p2A 0 ( 0.0)
p2B 1 ( 0.0)
p2C 0 ( 0.0)
p3 18 ( 0.2)
p3A 0 ( 0.0)
p3B 0 ( 0.0)
p3C 0 ( 0.0)
p4 0 ( 0.0)
pX 3141 ( 26.2)
NA 2062 ( 17.2)
TNM_PATH_M (%) N_A 5714 ( 47.6)
p0 0 ( 0.0)
p1 32 ( 0.3)
p1A 0 ( 0.0)
p1B 0 ( 0.0)
p1C 0 ( 0.0)
pX 2340 ( 19.5)
NA 3912 ( 32.6)
TNM_PATH_STAGE_GROUP (%) 0 0 ( 0.0)
1 660 ( 5.5)
1A 1134 ( 9.5)
1B 336 ( 2.8)
1C 0 ( 0.0)
2 102 ( 0.9)
2A 89 ( 0.7)
2B 155 ( 1.3)
2C 0 ( 0.0)
3 70 ( 0.6)
3A 86 ( 0.7)
3B 54 ( 0.5)
3C 0 ( 0.0)
4 240 ( 2.0)
4A 145 ( 1.2)
4A1 1 ( 0.0)
4B 125 ( 1.0)
4C 0 ( 0.0)
N_A 29 ( 0.2)
99 7411 ( 61.8)
NA 1361 ( 11.3)
DX_RX_STARTED_DAYS (mean (sd)) 43.85 (66.55)
DX_SURG_STARTED_DAYS (mean (sd)) 15.03 (38.25)
DX_DEFSURG_STARTED_DAYS (mean (sd)) 20.21 (46.69)
MARGINS (%) No Residual 818 ( 6.8)
Residual, NOS 176 ( 1.5)
Microscopic Resid 68 ( 0.6)
Macroscopic Resid 71 ( 0.6)
Not evaluable 452 ( 3.8)
No surg 9123 ( 76.0)
Unknown 1290 ( 10.8)
MARGINS_YN (%) No 818 ( 6.8)
Yes 315 ( 2.6)
No surg/Unk/NA 10865 ( 90.6)
SURG_DISCHARGE_DAYS (mean (sd)) 1.92 (12.01)
READM_HOSP_30_DAYS_F (%) No_Surg_or_No_Readmit 11615 ( 96.8)
Unplan_Readmit_Same 50 ( 0.4)
Plan_Readmit_Same 68 ( 0.6)
PlanUnplan_Same 2 ( 0.0)
9 263 ( 2.2)
RX_SUMM_RADIATION_F (%) None 8786 ( 73.2)
Beam Radiation 3058 ( 25.5)
Radioactive Implants 26 ( 0.2)
Radioisotopes 1 ( 0.0)
Beam + Imp or Isotopes 1 ( 0.0)
Radiation, NOS 55 ( 0.5)
Unknown 71 ( 0.6)
PUF_30_DAY_MORT_CD_F (%) Alive_30 2165 ( 18.0)
Dead_30 20 ( 0.2)
Unknown 41 ( 0.3)
NA 9772 ( 81.4)
PUF_90_DAY_MORT_CD_F (%) Alive_90 2085 ( 17.4)
Dead_90 64 ( 0.5)
Unknown 77 ( 0.6)
NA 9772 ( 81.4)
DX_LASTCONTACT_DEATH_MONTHS (mean (sd)) 49.62 (40.99)
LYMPH_VASCULAR_INVASION_F (%) Neg_LymphVasc_Inv 0 ( 0.0)
Pos_LumphVasc_Inv 0 ( 0.0)
N_A 6609 ( 55.1)
Unknown 0 ( 0.0)
NA 5389 ( 44.9)
RX_HOSP_SURG_APPR_2010_F (%) No_Surg 5425 ( 45.2)
Robot_Assist 1 ( 0.0)
Robot_to_Open 0 ( 0.0)
Endo_Lap 58 ( 0.5)
Endo_Lap_to_Open 2 ( 0.0)
Open_Unknown 831 ( 6.9)
Unknown 292 ( 2.4)
NA 5389 ( 44.9)
SURG_RAD_SEQ (%) Surg Alone 1774 ( 14.8)
Surg then Rad 741 ( 6.2)
Rad Alone 2325 ( 19.4)
No Treatment 6918 ( 57.7)
Other 226 ( 1.9)
Rad before and after Surg 3 ( 0.0)
Rad then Surg 11 ( 0.1)
SURG_RAD_SEQ_C (%) Surg, No rad, No Chemo 1295 ( 10.8)
Surg then Rad, No Chemo 532 ( 4.4)
Surg then Rad, Yes Chemo 193 ( 1.6)
Surg, No rad, Yes Chemo 417 ( 3.5)
No Surg, No Rad, Yes Chemo 2664 ( 22.2)
No Surg, No Rad, No Chemo 4059 ( 33.8)
Other 560 ( 4.7)
Rad, No Surg, Yes Chemo 809 ( 6.7)
Rad, No Surg, No Chemo 1456 ( 12.1)
Rad then Surg, Yes Chemo 2 ( 0.0)
Rad then Surg, No Chemo 8 ( 0.1)
Rad before and after Surg, Yes Chemo 0 ( 0.0)
Rad before and after Surg, No Chemo 3 ( 0.0)
SURGERY_YN (%) No 9315 ( 77.6)
Ukn 132 ( 1.1)
Yes 2551 ( 21.3)
RADIATION_YN (%) No 8769 ( 73.1)
Yes 3141 ( 26.2)
NA 88 ( 0.7)
CHEMO_YN (%) No 7426 ( 61.9)
Yes 4175 ( 34.8)
Ukn 397 ( 3.3)
mets_at_dx (%) Bone 9 ( 0.1)
Brain 0 ( 0.0)
Liver 4 ( 0.0)
Lung 6 ( 0.1)
None/Other/Unk/NA 11979 ( 99.8)
MEDICAID_EXPN_CODE (%) Non-Expansion State 3239 ( 27.0)
Jan 2014 Expansion States 3240 ( 27.0)
Early Expansion States (2010-13) 1739 ( 14.5)
Late Expansion States (> Jan 2014) 1544 ( 12.9)
Suppressed for Ages 0 - 39 2236 ( 18.6)
EXPN_GROUP (%) Exclude 2236 ( 18.6)
Post-Expansion 1727 ( 14.4)
Pre-Expansion 8035 ( 67.0)
preExpMedicare  <- nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion" & INSURANCE_F == "Medicare"))
postExpMedicare <- nrow(data %>% filter(EXPN_GROUP == "Post-Expansion" & INSURANCE_F == "Medicare"))
# p = 0.25 when comparing change in proportion of patients with Medicare before and after ACA expansion
prop.test(c(preExpMedicare, postExpMedicare), 
          c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% filter(EXPN_GROUP == "Post-Expansion"))))

    2-sample test for equality of proportions with continuity correction

data:  c(preExpMedicare, postExpMedicare) out of c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% c(preExpMedicare, postExpMedicare) out of     filter(EXPN_GROUP == "Post-Expansion")))
X-squared = 3.4575, df = 1, p-value = 0.06296
alternative hypothesis: two.sided
95 percent confidence interval:
 -0.001093015  0.049869917
sample estimates:
   prop 1    prop 2 
0.3926571 0.3682687 
preExpNoInsurance <- nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion") %>% 
                            filter(INSURANCE_F == "None"))
postExpNoInsurance <- nrow(data %>% filter(EXPN_GROUP == "Post-Expansion") %>% 
                             filter(INSURANCE_F == "None"))
# Significant decrease in the overall proportion of patients without insurance after ACA expansion 
prop.test(c(preExpNoInsurance, postExpNoInsurance), 
          c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% filter(EXPN_GROUP == "Post-Expansion"))))

    2-sample test for equality of proportions with continuity correction

data:  c(preExpNoInsurance, postExpNoInsurance) out of c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% c(preExpNoInsurance, postExpNoInsurance) out of     filter(EXPN_GROUP == "Post-Expansion")))
X-squared = 7.7997, df = 1, p-value = 0.005225
alternative hypothesis: two.sided
95 percent confidence interval:
 0.00529256 0.02222443
sample estimates:
    prop 1     prop 2 
0.03634101 0.02258251 
p_table(no_Excludes, strata = "EXPN_GROUP", vars = "DX_RX_STARTED_DAYS")

level Post-Expansion Pre-Expansion p test
n 144 562
DX_RX_STARTED_DAYS (mean (sd)) 49.87 (39.28) 46.72 (169.07) 0.830

data <- data %>% mutate(Insured = INSURANCE_F != "Unknown")

Kaplan Meier Analysis

All

uni_var(test_var = "All", data_imp = data)
_________________________________________________
   
## All
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ All, data = data)

      n  events  median 0.95LCL 0.95UCL 
  11998    3406      NA     155      NA 

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ All, data = data)

 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   9342    1287    0.887 0.00298        0.881        0.892
   24   7739     671    0.820 0.00371        0.812        0.827
   36   6321     440    0.770 0.00417        0.762        0.778
   48   5151     294    0.732 0.00453        0.723        0.741
   60   4162     208    0.700 0.00485        0.690        0.709
  120    962     452    0.578 0.00691        0.565        0.592



   
## Univariable Cox Proportional Hazard Model for:  All

[1] "Only one level, no Cox model performed"




   
## Unadjusted Kaplan Meier Overall Survival Curve for:  All

Facility Type

uni_var(test_var = "FACILITY_TYPE_F", data_imp = data)
_________________________________________________
   
## FACILITY_TYPE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_TYPE_F, data = data)

   2236 observations deleted due to missingness 
                                                 n events median 0.95LCL 0.95UCL
FACILITY_TYPE_F=Community Cancer Program       409    162   98.3    83.3      NA
FACILITY_TYPE_F=Comprehensive Comm Ca Program 1903    727  111.6    93.4     126
FACILITY_TYPE_F=Academic/Research Program     6745   1969  139.0   131.7      NA
FACILITY_TYPE_F=Integrated Network Ca Program  705    254  120.4   102.3      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_TYPE_F, data = data)

2236 observations deleted due to missingness 
                FACILITY_TYPE_F=Community Cancer Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    300      66    0.830  0.0191        0.794        0.869
   24    250      30    0.745  0.0226        0.702        0.791
   36    190      21    0.678  0.0249        0.630        0.728
   48    164      10    0.640  0.0262        0.590        0.693
   60    144       6    0.615  0.0271        0.564        0.670
  120     29      29    0.420  0.0374        0.353        0.500

                FACILITY_TYPE_F=Comprehensive Comm Ca Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1421     309    0.831 0.00879        0.814        0.848
   24   1159     138    0.747 0.01043        0.726        0.767
   36    950      77    0.694 0.01127        0.673        0.717
   48    771      55    0.651 0.01197        0.628        0.675
   60    625      45    0.611 0.01268        0.586        0.636
  120    163      93    0.475 0.01666        0.443        0.509

                FACILITY_TYPE_F=Academic/Research Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   5268     660    0.896 0.00384        0.889        0.904
   24   4338     390    0.826 0.00491        0.817        0.836
   36   3516     284    0.769 0.00563        0.758        0.780
   48   2835     189    0.724 0.00617        0.712        0.736
   60   2260     133    0.687 0.00663        0.674        0.700
  120    480     277    0.550 0.00964        0.532        0.570

                FACILITY_TYPE_F=Integrated Network Ca Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    536     108    0.840  0.0141        0.813        0.868
   24    435      52    0.755  0.0169        0.723        0.789
   36    361      19    0.720  0.0179        0.686        0.756
   48    291      25    0.667  0.0195        0.630        0.707
   60    235      13    0.636  0.0204        0.597        0.677
  120     57      32    0.507  0.0274        0.456        0.564




   
## Univariable Cox Proportional Hazard Model for:  FACILITY_TYPE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_TYPE_F, data = data)

  n= 9762, number of events= 3112 
   (2236 observations deleted due to missingness)

                                                 coef exp(coef) se(coef)      z Pr(>|z|)    
FACILITY_TYPE_FComprehensive Comm Ca Program -0.04216   0.95872  0.08689 -0.485    0.628    
FACILITY_TYPE_FAcademic/Research Program     -0.33521   0.71519  0.08174 -4.101 4.12e-05 ***
FACILITY_TYPE_FIntegrated Network Ca Program -0.10829   0.89737  0.10055 -1.077    0.282    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                             exp(coef) exp(-coef) lower .95 upper .95
FACILITY_TYPE_FComprehensive Comm Ca Program    0.9587      1.043    0.8086    1.1367
FACILITY_TYPE_FAcademic/Research Program        0.7152      1.398    0.6093    0.8395
FACILITY_TYPE_FIntegrated Network Ca Program    0.8974      1.114    0.7369    1.0928

Concordance= 0.541  (se = 0.005 )
Rsquare= 0.006   (max possible= 0.996 )
Likelihood ratio test= 57.92  on 3 df,   p=1.636e-12
Wald test            = 59.75  on 3 df,   p=6.65e-13
Score (logrank) test = 60.18  on 3 df,   p=5.39e-13
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  FACILITY_TYPE_F

Facility Location

uni_var(test_var = "FACILITY_LOCATION_F", data_imp = data)
_________________________________________________
   
## FACILITY_LOCATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_LOCATION_F, data = data)

   2236 observations deleted due to missingness 
                                          n events median 0.95LCL 0.95UCL
FACILITY_LOCATION_F=New England         683    202  124.9   103.6      NA
FACILITY_LOCATION_F=Middle Atlantic    2098    575  131.7   113.9      NA
FACILITY_LOCATION_F=South Atlantic     2063    688  132.3   123.4      NA
FACILITY_LOCATION_F=East North Central 1653    549  132.1   115.3      NA
FACILITY_LOCATION_F=East South Central  531    187  126.0   102.7      NA
FACILITY_LOCATION_F=West North Central  646    233   94.8    84.2      NA
FACILITY_LOCATION_F=West South Central  559    185  122.8   102.3      NA
FACILITY_LOCATION_F=Mountain            475    132  145.1   134.3      NA
FACILITY_LOCATION_F=Pacific            1054    361  135.6   108.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_LOCATION_F, data = data)

2236 observations deleted due to missingness 
                FACILITY_LOCATION_F=New England 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    502      75    0.881  0.0129        0.856        0.907
   24    407      40    0.806  0.0164        0.775        0.839
   36    325      28    0.746  0.0187        0.710        0.784
   48    260      18    0.701  0.0204        0.662        0.742
   60    200      12    0.665  0.0219        0.623        0.709
  120     34      27    0.516  0.0330        0.455        0.585

                FACILITY_LOCATION_F=Middle Atlantic 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1687     189    0.905 0.00658        0.892        0.918
   24   1395     121    0.837 0.00853        0.820        0.854
   36   1101      79    0.786 0.00976        0.767        0.805
   48    833      57    0.741 0.01089        0.719        0.762
   60    625      42    0.699 0.01201        0.676        0.723
  120     99      80    0.527 0.02136        0.487        0.570

                FACILITY_LOCATION_F=South Atlantic 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1596     240    0.877 0.00745        0.863        0.892
   24   1307     139    0.797 0.00938        0.779        0.815
   36   1091      92    0.738 0.01051        0.718        0.759
   48    925      53    0.700 0.01119        0.678        0.722
   60    767      44    0.664 0.01184        0.641        0.688
  120    209     105    0.534 0.01549        0.504        0.565

                FACILITY_LOCATION_F=East North Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1302     206    0.870 0.00847        0.853        0.887
   24   1106      87    0.810 0.01004        0.790        0.830
   36    893      75    0.752 0.01134        0.730        0.774
   48    749      45    0.712 0.01221        0.688        0.736
   60    631      31    0.681 0.01290        0.656        0.706
  120    140      95    0.523 0.01839        0.488        0.560

                FACILITY_LOCATION_F=East South Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    415      67    0.868  0.0150        0.839        0.898
   24    346      41    0.779  0.0188        0.743        0.817
   36    294      24    0.723  0.0207        0.684        0.765
   48    231      15    0.684  0.0219        0.642        0.728
   60    177      13    0.642  0.0234        0.598        0.690
  120     47      24    0.511  0.0316        0.453        0.577

                FACILITY_LOCATION_F=West North Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    448     105    0.825  0.0156        0.795        0.856
   24    365      37    0.754  0.0181        0.719        0.790
   36    307      22    0.706  0.0196        0.669        0.746
   48    238      27    0.640  0.0216        0.599        0.683
   60    185      13    0.601  0.0228        0.558        0.647
  120     34      27    0.454  0.0321        0.395        0.521

                FACILITY_LOCATION_F=West South Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    415      76    0.855  0.0154        0.826        0.886
   24    326      43    0.761  0.0193        0.725        0.800
   36    266      14    0.726  0.0206        0.687        0.767
   48    215      20    0.668  0.0227        0.625        0.714
   60    164      13    0.624  0.0243        0.578        0.673
  120     25      16    0.514  0.0355        0.449        0.589

                FACILITY_LOCATION_F=Mountain 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    358      43    0.904  0.0139        0.877        0.932
   24    283      30    0.822  0.0191        0.785        0.860
   36    221      22    0.754  0.0223        0.712        0.799
   48    189       9    0.722  0.0239        0.677        0.770
   60    160      10    0.682  0.0256        0.634        0.734
  120     40      14    0.597  0.0319        0.537        0.663

                FACILITY_LOCATION_F=Pacific 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    802     142    0.860  0.0109        0.839        0.882
   24    647      72    0.779  0.0135        0.753        0.805
   36    519      45    0.721  0.0150        0.692        0.751
   48    421      35    0.670  0.0162        0.639        0.702
   60    355      19    0.638  0.0170        0.605        0.672
  120    101      43    0.519  0.0220        0.478        0.564




   
## Univariable Cox Proportional Hazard Model for:  FACILITY_LOCATION_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_LOCATION_F, data = data)

  n= 9762, number of events= 3112 
   (2236 observations deleted due to missingness)

                                           coef exp(coef)  se(coef)      z Pr(>|z|)  
FACILITY_LOCATION_FMiddle Atlantic    -0.130653  0.877523  0.081798 -1.597    0.110  
FACILITY_LOCATION_FSouth Atlantic      0.001949  1.001951  0.080062  0.024    0.981  
FACILITY_LOCATION_FEast North Central -0.013188  0.986899  0.082312 -0.160    0.873  
FACILITY_LOCATION_FEast South Central  0.059810  1.061635  0.101494  0.589    0.556  
FACILITY_LOCATION_FWest North Central  0.229410  1.257857  0.096139  2.386    0.017 *
FACILITY_LOCATION_FWest South Central  0.119967  1.127460  0.101767  1.179    0.238  
FACILITY_LOCATION_FMountain           -0.114873  0.891479  0.111933 -1.026    0.305  
FACILITY_LOCATION_FPacific             0.061094  1.062999  0.087912  0.695    0.487  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                      exp(coef) exp(-coef) lower .95 upper .95
FACILITY_LOCATION_FMiddle Atlantic       0.8775     1.1396    0.7475     1.030
FACILITY_LOCATION_FSouth Atlantic        1.0020     0.9981    0.8564     1.172
FACILITY_LOCATION_FEast North Central    0.9869     1.0133    0.8399     1.160
FACILITY_LOCATION_FEast South Central    1.0616     0.9419    0.8701     1.295
FACILITY_LOCATION_FWest North Central    1.2579     0.7950    1.0418     1.519
FACILITY_LOCATION_FWest South Central    1.1275     0.8869    0.9236     1.376
FACILITY_LOCATION_FMountain              0.8915     1.1217    0.7159     1.110
FACILITY_LOCATION_FPacific               1.0630     0.9407    0.8948     1.263

Concordance= 0.533  (se = 0.005 )
Rsquare= 0.003   (max possible= 0.996 )
Likelihood ratio test= 28.06  on 8 df,   p=0.0004625
Wald test            = 28.53  on 8 df,   p=0.0003828
Score (logrank) test = 28.67  on 8 df,   p=0.0003622
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  FACILITY_LOCATION_F

Facility Geography

uni_var(test_var = "FACILITY_GEOGRAPHY", data_imp = data)
_________________________________________________
   
## FACILITY_GEOGRAPHY
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_GEOGRAPHY, data = data)

   2236 observations deleted due to missingness 
                                n events median 0.95LCL 0.95UCL
FACILITY_GEOGRAPHY=Northeast 2781    777    132     114      NA
FACILITY_GEOGRAPHY=South     2622    873    131     123     155
FACILITY_GEOGRAPHY=Midwest   2830    969    126     112     140
FACILITY_GEOGRAPHY=West      1529    493    142     121      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_GEOGRAPHY, data = data)

2236 observations deleted due to missingness 
                FACILITY_GEOGRAPHY=Northeast 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2189     264    0.899 0.00589        0.888        0.911
   24   1802     161    0.829 0.00758        0.815        0.844
   36   1426     107    0.776 0.00867        0.759        0.793
   48   1093      75    0.731 0.00961        0.713        0.750
   60    825      54    0.691 0.01053        0.671        0.712
  120    133     107    0.525 0.01794        0.491        0.561

                FACILITY_GEOGRAPHY=South 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2011     316    0.872 0.00672        0.859        0.886
   24   1633     182    0.789 0.00845        0.773        0.806
   36   1357     106    0.735 0.00937        0.717        0.754
   48   1140      73    0.693 0.01004        0.674        0.713
   60    931      57    0.656 0.01065        0.635        0.677
  120    234     121    0.530 0.01409        0.503        0.558

                FACILITY_GEOGRAPHY=Midwest 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2165     378    0.859 0.00671        0.846        0.873
   24   1817     165    0.792 0.00800        0.776        0.807
   36   1494     121    0.736 0.00889        0.719        0.754
   48   1218      87    0.691 0.00959        0.672        0.710
   60    993      57    0.656 0.01015        0.636        0.676
  120    221     146    0.506 0.01425        0.479        0.534

                FACILITY_GEOGRAPHY=West 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1160     185    0.874 0.00871        0.857        0.891
   24    930     102    0.792 0.01104        0.770        0.814
   36    740      67    0.731 0.01244        0.707        0.756
   48    610      44    0.685 0.01345        0.660        0.712
   60    515      29    0.651 0.01421        0.624        0.680
  120    141      57    0.540 0.01835        0.506        0.578




   
## Univariable Cox Proportional Hazard Model for:  FACILITY_GEOGRAPHY

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_GEOGRAPHY, data = data)

  n= 9762, number of events= 3112 
   (2236 observations deleted due to missingness)

                             coef exp(coef) se(coef)     z Pr(>|z|)   
FACILITY_GEOGRAPHYSouth   0.12429   1.13234  0.04938 2.517  0.01184 * 
FACILITY_GEOGRAPHYMidwest 0.15287   1.16518  0.04820 3.172  0.00152 **
FACILITY_GEOGRAPHYWest    0.10932   1.11552  0.05766 1.896  0.05796 . 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                          exp(coef) exp(-coef) lower .95 upper .95
FACILITY_GEOGRAPHYSouth       1.132     0.8831    1.0279     1.247
FACILITY_GEOGRAPHYMidwest     1.165     0.8582    1.0601     1.281
FACILITY_GEOGRAPHYWest        1.116     0.8964    0.9963     1.249

Concordance= 0.52  (se = 0.005 )
Rsquare= 0.001   (max possible= 0.996 )
Likelihood ratio test= 11.21  on 3 df,   p=0.01066
Wald test            = 11.01  on 3 df,   p=0.01168
Score (logrank) test = 11.02  on 3 df,   p=0.01159
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  FACILITY_GEOGRAPHY

Age Group

uni_var(test_var = "AGE_F", data_imp = data)
_________________________________________________
   
## AGE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_F, data = data)

   5 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
AGE_F=(0,54]   5207    854     NA      NA      NA
AGE_F=(54,64]  2666    651     NA   158.3      NA
AGE_F=(64,74]  2259    775    106    99.2   119.8
AGE_F=(74,100] 1861   1126     41    37.8    46.3

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_F, data = data)

5 observations deleted due to missingness 
                AGE_F=(0,54] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4221     360    0.927 0.00373        0.919        0.934
   24   3599     197    0.881 0.00475        0.872        0.891
   36   3048     101    0.855 0.00527        0.845        0.866
   48   2554      59    0.837 0.00564        0.827        0.849
   60   2116      43    0.822 0.00599        0.811        0.834
  120    559      82    0.772 0.00807        0.756        0.788

                AGE_F=(54,64] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2104     227    0.910 0.00573        0.899        0.921
   24   1747     117    0.856 0.00723        0.842        0.870
   36   1429      92    0.808 0.00838        0.792        0.825
   48   1148      81    0.758 0.00952        0.740        0.777
   60    937      35    0.734 0.01009        0.714        0.754
  120    204      91    0.618 0.01469        0.590        0.648

                AGE_F=(64,74] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1722     267    0.874 0.00721        0.860        0.889
   24   1404     149    0.795 0.00903        0.777        0.813
   36   1107     101    0.733 0.01020        0.714        0.754
   48    888      66    0.687 0.01105        0.666        0.709
   60    690      59    0.637 0.01201        0.614        0.661
  120    140     117    0.462 0.01754        0.429        0.497

                AGE_F=(74,100] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1292     433    0.759  0.0101        0.739        0.779
   24    986     208    0.632  0.0116        0.610        0.655
   36    734     146    0.533  0.0124        0.509        0.558
   48    559      88    0.464  0.0128        0.440        0.490
   60    417      71    0.401  0.0131        0.376        0.427
  120     59     162    0.176  0.0145        0.150        0.207




   
## Univariable Cox Proportional Hazard Model for:  AGE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_F, data = data)

  n= 11993, number of events= 3406 
   (5 observations deleted due to missingness)

                 coef exp(coef) se(coef)      z Pr(>|z|)    
AGE_F(54,64]  0.47932   1.61498  0.05205  9.208   <2e-16 ***
AGE_F(64,74]  0.87997   2.41082  0.04967 17.716   <2e-16 ***
AGE_F(74,100] 1.61201   5.01290  0.04561 35.342   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
AGE_F(54,64]      1.615     0.6192     1.458     1.788
AGE_F(64,74]      2.411     0.4148     2.187     2.657
AGE_F(74,100]     5.013     0.1995     4.584     5.482

Concordance= 0.645  (se = 0.005 )
Rsquare= 0.101   (max possible= 0.993 )
Likelihood ratio test= 1275  on 3 df,   p=0
Wald test            = 1344  on 3 df,   p=0
Score (logrank) test = 1558  on 3 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  AGE_F

Age Group

uni_var(test_var = "AGE_40", data_imp = data)
_________________________________________________
   
## AGE_40
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_40, data = data)

   5 observations deleted due to missingness 
                   n events median 0.95LCL 0.95UCL
AGE_40=(0,40]   2371    315     NA      NA      NA
AGE_40=(40,100] 9622   3091    131     125     138

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_40, data = data)

5 observations deleted due to missingness 
                AGE_40=(0,40] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1931     151    0.932 0.00535        0.922        0.943
   24   1651      70    0.896 0.00663        0.883        0.909
   36   1383      41    0.873 0.00741        0.858        0.887
   48   1161      15    0.862 0.00779        0.847        0.878
   60    953      13    0.852 0.00823        0.836        0.868
  120    248      22    0.821 0.01050        0.801        0.842

                AGE_40=(40,100] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   7408    1136    0.875 0.00347        0.869        0.882
   24   6085     601    0.801 0.00431        0.792        0.809
   36   4935     399    0.745 0.00483        0.736        0.755
   48   3988     279    0.700 0.00524        0.690        0.710
   60   3207     195    0.663 0.00559        0.652        0.674
  120    714     430    0.522 0.00792        0.507        0.538




   
## Univariable Cox Proportional Hazard Model for:  AGE_40

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_40, data = data)

  n= 11993, number of events= 3406 
   (5 observations deleted due to missingness)

                  coef exp(coef) se(coef)     z Pr(>|z|)    
AGE_40(40,100] 0.98736   2.68413  0.05917 16.69   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

               exp(coef) exp(-coef) lower .95 upper .95
AGE_40(40,100]     2.684     0.3726      2.39     3.014

Concordance= 0.554  (se = 0.004 )
Rsquare= 0.03   (max possible= 0.993 )
Likelihood ratio test= 363.6  on 1 df,   p=0
Wald test            = 278.5  on 1 df,   p=0
Score (logrank) test = 301.8  on 1 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  AGE_40

Gender

uni_var(test_var = "SEX_F", data_imp = data)
_________________________________________________
   
## SEX_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SEX_F, data = data)

                n events median 0.95LCL 0.95UCL
SEX_F=Male   6959   2109    150     135      NA
SEX_F=Female 5039   1297     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SEX_F, data = data)

                SEX_F=Male 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   5386     792    0.880 0.00402        0.872        0.887
   24   4418     438    0.804 0.00503        0.795        0.814
   36   3607     270    0.752 0.00562        0.741        0.763
   48   2937     166    0.715 0.00604        0.703        0.727
   60   2384     124    0.683 0.00644        0.670        0.695
  120    544     284    0.555 0.00909        0.537        0.573

                SEX_F=Female 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3956     495    0.896 0.00442        0.888        0.905
   24   3321     233    0.841 0.00544        0.830        0.852
   36   2714     170    0.795 0.00618        0.783        0.807
   48   2214     128    0.754 0.00683        0.741        0.768
   60   1778      84    0.723 0.00735        0.709        0.738
  120    418     168    0.612 0.01062        0.591        0.633




   
## Univariable Cox Proportional Hazard Model for:  SEX_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SEX_F, data = data)

  n= 11998, number of events= 3406 

                coef exp(coef) se(coef)      z Pr(>|z|)    
SEX_FFemale -0.19249   0.82491  0.03529 -5.454 4.91e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

            exp(coef) exp(-coef) lower .95 upper .95
SEX_FFemale    0.8249      1.212    0.7698     0.884

Concordance= 0.523  (se = 0.005 )
Rsquare= 0.003   (max possible= 0.993 )
Likelihood ratio test= 30.17  on 1 df,   p=3.965e-08
Wald test            = 29.75  on 1 df,   p=4.912e-08
Score (logrank) test = 29.84  on 1 df,   p=4.684e-08
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SEX_F

RACE_F

uni_var(test_var = "RACE_F", data_imp = data)
_________________________________________________
   
## RACE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RACE_F, data = data)

                    n events median 0.95LCL 0.95UCL
RACE_F=White     9070   2625    158     145      NA
RACE_F=Black     2031    581     NA     148      NA
RACE_F=Other/Unk  465     91     NA      NA      NA
RACE_F=Asian      432    109     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RACE_F, data = data)

                RACE_F=White 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   7087     969    0.887 0.00342        0.881        0.894
   24   5881     525    0.818 0.00428        0.810        0.827
   36   4814     345    0.767 0.00481        0.758        0.777
   48   3959     211    0.731 0.00519        0.721        0.742
   60   3212     167    0.698 0.00556        0.687        0.709
  120    724     364    0.571 0.00799        0.555        0.587

                RACE_F=Black 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1568     230    0.880 0.00744        0.866        0.895
   24   1286     110    0.815 0.00913        0.797        0.833
   36   1049      75    0.764 0.01027        0.744        0.785
   48    837      58    0.718 0.01128        0.697        0.741
   60    661      33    0.687 0.01203        0.664        0.711
  120    167      66    0.581 0.01645        0.550        0.614

                RACE_F=Other/Unk 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    367      29    0.931  0.0124        0.907        0.956
   24    306      20    0.878  0.0164        0.846        0.911
   36    239      11    0.843  0.0189        0.807        0.881
   48    179      15    0.784  0.0228        0.741        0.830
   60    141       4    0.765  0.0243        0.719        0.814
  120     33      12    0.668  0.0350        0.603        0.740

                RACE_F=Asian 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    320      59    0.855  0.0175        0.822        0.890
   24    266      16    0.810  0.0199        0.772        0.850
   36    219       9    0.781  0.0213        0.741        0.824
   48    176      10    0.743  0.0235        0.698        0.790
   60    148       4    0.725  0.0246        0.679        0.775
  120     38      10    0.649  0.0330        0.587        0.717




   
## Univariable Cox Proportional Hazard Model for:  RACE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RACE_F, data = data)

  n= 11998, number of events= 3406 

                     coef exp(coef)  se(coef)      z Pr(>|z|)    
RACE_FBlack      0.009833  1.009881  0.045851  0.214 0.830194    
RACE_FOther/Unk -0.356896  0.699845  0.106636 -3.347 0.000817 ***
RACE_FAsian     -0.107685  0.897910  0.097753 -1.102 0.270634    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                exp(coef) exp(-coef) lower .95 upper .95
RACE_FBlack        1.0099     0.9902    0.9231    1.1048
RACE_FOther/Unk    0.6998     1.4289    0.5678    0.8625
RACE_FAsian        0.8979     1.1137    0.7414    1.0875

Concordance= 0.508  (se = 0.004 )
Rsquare= 0.001   (max possible= 0.993 )
Likelihood ratio test= 13.86  on 3 df,   p=0.003104
Wald test            = 12.47  on 3 df,   p=0.005922
Score (logrank) test = 12.6  on 3 df,   p=0.005598
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RACE_F

Hispanic

uni_var(test_var = "HISPANIC", data_imp = data)
_________________________________________________
   
## HISPANIC
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ HISPANIC, data = data)

                     n events median 0.95LCL 0.95UCL
HISPANIC=No      10462   2975    158     148      NA
HISPANIC=Yes       961    262     NA      NA      NA
HISPANIC=Unknown   575    169     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ HISPANIC, data = data)

                HISPANIC=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   8169    1092    0.890 0.00316        0.883        0.896
   24   6765     589    0.822 0.00396        0.814        0.830
   36   5542     387    0.772 0.00446        0.764        0.781
   48   4507     268    0.732 0.00486        0.723        0.742
   60   3646     185    0.700 0.00520        0.690        0.710
  120    845     402    0.577 0.00741        0.562        0.591

                HISPANIC=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    698     145    0.839  0.0123        0.815        0.863
   24    561      48    0.778  0.0142        0.751        0.807
   36    435      29    0.734  0.0156        0.705        0.766
   48    353      10    0.716  0.0162        0.685        0.749
   60    264      10    0.692  0.0174        0.659        0.727
  120     46      20    0.599  0.0264        0.549        0.653

                HISPANIC=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    475      50    0.909  0.0123        0.885        0.933
   24    413      34    0.842  0.0158        0.812        0.874
   36    344      24    0.790  0.0181        0.755        0.826
   48    291      16    0.751  0.0196        0.714        0.791
   60    252      13    0.717  0.0210        0.677        0.759
  120     71      30    0.594  0.0277        0.542        0.651




   
## Univariable Cox Proportional Hazard Model for:  HISPANIC

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ HISPANIC, data = data)

  n= 11998, number of events= 3406 

                    coef exp(coef) se(coef)      z Pr(>|z|)
HISPANICYes      0.07767   1.08077  0.06447  1.205    0.228
HISPANICUnknown -0.07866   0.92435  0.07911 -0.994    0.320

                exp(coef) exp(-coef) lower .95 upper .95
HISPANICYes        1.0808     0.9253    0.9525     1.226
HISPANICUnknown    0.9244     1.0818    0.7916     1.079

Concordance= 0.509  (se = 0.003 )
Rsquare= 0   (max possible= 0.993 )
Likelihood ratio test= 2.6  on 2 df,   p=0.2725
Wald test            = 2.61  on 2 df,   p=0.2715
Score (logrank) test = 2.61  on 2 df,   p=0.2713
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  HISPANIC

Insurance Status

uni_var(test_var = "INSURANCE_F", data_imp = data)
_________________________________________________
   
## INSURANCE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INSURANCE_F, data = data)

                                n events median 0.95LCL 0.95UCL
INSURANCE_F=Private          6315   1110     NA      NA      NA
INSURANCE_F=None              497    144     NA      NA      NA
INSURANCE_F=Medicaid          842    249     NA      NA      NA
INSURANCE_F=Medicare         3854   1769   66.3    63.0    72.5
INSURANCE_F=Other Government  172     48  115.9    99.8      NA
INSURANCE_F=Unknown           318     86     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INSURANCE_F, data = data)

                INSURANCE_F=Private 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   5166     374    0.937 0.00315        0.931        0.943
   24   4384     247    0.890 0.00418        0.882        0.898
   36   3695     148    0.858 0.00477        0.849        0.868
   48   3072     110    0.831 0.00529        0.821        0.841
   60   2535      68    0.811 0.00568        0.800        0.823
  120    649     142    0.739 0.00806        0.723        0.755

                INSURANCE_F=None 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    341      80    0.824  0.0180        0.789        0.860
   24    280      26    0.758  0.0206        0.719        0.800
   36    223      13    0.721  0.0220        0.679        0.766
   48    187      11    0.683  0.0237        0.638        0.731
   60    143       6    0.659  0.0248        0.612        0.710
  120     28       8    0.603  0.0303        0.547        0.666

                INSURANCE_F=Medicaid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    631     133    0.834  0.0132        0.809        0.860
   24    492      56    0.755  0.0156        0.725        0.786
   36    382      26    0.711  0.0169        0.678        0.745
   48    302      13    0.685  0.0178        0.651        0.721
   60    228       6    0.671  0.0183        0.636        0.708
  120     39      15    0.594  0.0255        0.546        0.646

                INSURANCE_F=Medicare 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2818     654    0.822 0.00633        0.810        0.834
   24   2248     320    0.724 0.00759        0.709        0.739
   36   1747     230    0.645 0.00836        0.629        0.662
   48   1366     152    0.585 0.00890        0.568        0.603
   60   1066     118    0.530 0.00938        0.512        0.549
  120    194     264    0.330 0.01231        0.307        0.355

                INSURANCE_F=Other Government 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    138      12    0.925  0.0208        0.885        0.967
   24    116       8    0.870  0.0273        0.818        0.925
   36     86      10    0.787  0.0351        0.721        0.859
   48     66       3    0.756  0.0380        0.685        0.835
   60     56       3    0.720  0.0415        0.643        0.806
  120     10      11    0.429  0.0789        0.299        0.616

                INSURANCE_F=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    248      34    0.886  0.0184        0.851        0.923
   24    219      14    0.835  0.0219        0.793        0.879
   36    188      13    0.783  0.0248        0.736        0.833
   48    158       5    0.761  0.0260        0.711        0.813
   60    134       7    0.725  0.0281        0.672        0.782
  120     42      12    0.628  0.0371        0.560        0.705




   
## Univariable Cox Proportional Hazard Model for:  INSURANCE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INSURANCE_F, data = data)

  n= 11998, number of events= 3406 

                               coef exp(coef) se(coef)      z Pr(>|z|)    
INSURANCE_FNone             0.71658   2.04742  0.08861  8.087 5.55e-16 ***
INSURANCE_FMedicaid         0.70831   2.03056  0.07019 10.092  < 2e-16 ***
INSURANCE_FMedicare         1.15828   3.18444  0.03840 30.164  < 2e-16 ***
INSURANCE_FOther Government 0.58135   1.78845  0.14746  3.942 8.07e-05 ***
INSURANCE_FUnknown          0.41240   1.51045  0.11194  3.684  0.00023 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                            exp(coef) exp(-coef) lower .95 upper .95
INSURANCE_FNone                 2.047     0.4884     1.721     2.436
INSURANCE_FMedicaid             2.031     0.4925     1.770     2.330
INSURANCE_FMedicare             3.184     0.3140     2.954     3.433
INSURANCE_FOther Government     1.788     0.5591     1.340     2.388
INSURANCE_FUnknown              1.510     0.6621     1.213     1.881

Concordance= 0.63  (se = 0.005 )
Rsquare= 0.076   (max possible= 0.993 )
Likelihood ratio test= 951.8  on 5 df,   p=0
Wald test            = 917.8  on 5 df,   p=0
Score (logrank) test = 1011  on 5 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  INSURANCE_F

Overall Survival pre/post-ACA expansion

uni_var(test_var = "EXPN_GROUP", data_imp = no_Excludes)
_________________________________________________
   
## EXPN_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EXPN_GROUP, data = no_Excludes)

                            n events median 0.95LCL 0.95UCL
EXPN_GROUP=Post-Expansion 144     20     NA    82.8      NA
EXPN_GROUP=Pre-Expansion  562    145    132   125.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EXPN_GROUP, data = no_Excludes)

                EXPN_GROUP=Post-Expansion 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    119       5    0.963  0.0163        0.931        0.995
   24     85       9    0.880  0.0303        0.823        0.942
   36     42       4    0.827  0.0386        0.755        0.906
   48     28       1    0.799  0.0467        0.712        0.896
   60     18       0    0.799  0.0467        0.712        0.896

                EXPN_GROUP=Pre-Expansion 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    498      20    0.963 0.00815        0.947        0.979
   24    457      16    0.931 0.01111        0.909        0.953
   36    394      20    0.888 0.01419        0.860        0.916
   48    322      16    0.849 0.01652        0.818        0.882
   60    253      25    0.778 0.02044        0.739        0.819
  120     51      39    0.586 0.03289        0.525        0.655




   
## Univariable Cox Proportional Hazard Model for:  EXPN_GROUP

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EXPN_GROUP, data = no_Excludes)

  n= 706, number of events= 165 

                           coef exp(coef) se(coef)      z Pr(>|z|)
EXPN_GROUPPre-Expansion -0.2186    0.8036   0.2458 -0.889    0.374

                        exp(coef) exp(-coef) lower .95 upper .95
EXPN_GROUPPre-Expansion    0.8036      1.244    0.4964     1.301

Concordance= 0.519  (se = 0.016 )
Rsquare= 0.001   (max possible= 0.932 )
Likelihood ratio test= 0.75  on 1 df,   p=0.3855
Wald test            = 0.79  on 1 df,   p=0.3739
Score (logrank) test = 0.79  on 1 df,   p=0.373





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  EXPN_GROUP

Education

uni_var(test_var = "EDUCATION_F", data_imp = data)
_________________________________________________
   
## EDUCATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EDUCATION_F, data = data)

   66 observations deleted due to missingness 
                            n events median 0.95LCL 0.95UCL
EDUCATION_F=21% or more  1977    638    132     115      NA
EDUCATION_F=13 - 20.9%   2912    911    140     127      NA
EDUCATION_F=7 - 12.9%    3791   1091    158     145      NA
EDUCATION_F=Less than 7% 3252    753     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EDUCATION_F, data = data)

66 observations deleted due to missingness 
                EDUCATION_F=21% or more 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1497     258    0.862 0.00800        0.846        0.878
   24   1190     137    0.779 0.00989        0.760        0.798
   36    966      76    0.726 0.01092        0.705        0.748
   48    766      57    0.679 0.01185        0.657        0.703
   60    623      31    0.650 0.01249        0.625        0.674
  120    134      70    0.524 0.01789        0.490        0.560

                EDUCATION_F=13 - 20.9% 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2237     349    0.873 0.00634        0.861        0.886
   24   1869     170    0.804 0.00776        0.789        0.819
   36   1519     125    0.747 0.00873        0.730        0.764
   48   1222      78    0.706 0.00941        0.688        0.725
   60    982      51    0.674 0.00998        0.655        0.694
  120    243     123    0.540 0.01428        0.513        0.569

                EDUCATION_F=7 - 12.9% 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2978     409    0.887 0.00529        0.876        0.897
   24   2475     211    0.820 0.00657        0.808        0.833
   36   2037     131    0.774 0.00734        0.760        0.789
   48   1669      98    0.734 0.00799        0.719        0.750
   60   1392      64    0.704 0.00851        0.688        0.721
  120    319     156    0.579 0.01199        0.556        0.603

                EDUCATION_F=Less than 7% 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2588     264    0.914 0.00508        0.904        0.924
   24   2171     152    0.857 0.00651        0.845        0.870
   36   1772     106    0.813 0.00748        0.798        0.828
   48   1468      61    0.783 0.00814        0.767        0.799
   60   1144      60    0.748 0.00896        0.730        0.765
  120    259     102    0.648 0.01261        0.624        0.673




   
## Univariable Cox Proportional Hazard Model for:  EDUCATION_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EDUCATION_F, data = data)

  n= 11932, number of events= 3393 
   (66 observations deleted due to missingness)

                            coef exp(coef) se(coef)      z Pr(>|z|)    
EDUCATION_F13 - 20.9%   -0.07945   0.92362  0.05163 -1.539 0.123827    
EDUCATION_F7 - 12.9%    -0.19345   0.82411  0.04985 -3.880 0.000104 ***
EDUCATION_FLess than 7% -0.40656   0.66594  0.05382 -7.555  4.2e-14 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                        exp(coef) exp(-coef) lower .95 upper .95
EDUCATION_F13 - 20.9%      0.9236      1.083    0.8347    1.0220
EDUCATION_F7 - 12.9%       0.8241      1.213    0.7474    0.9087
EDUCATION_FLess than 7%    0.6659      1.502    0.5993    0.7400

Concordance= 0.542  (se = 0.005 )
Rsquare= 0.006   (max possible= 0.993 )
Likelihood ratio test= 70.27  on 3 df,   p=3.775e-15
Wald test            = 68.59  on 3 df,   p=8.549e-15
Score (logrank) test = 69.17  on 3 df,   p=6.439e-15
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  EDUCATION_F

Urban/Rural

uni_var(test_var = "U_R_F", data_imp = data)
_________________________________________________
   
## U_R_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ U_R_F, data = data)

   342 observations deleted due to missingness 
                n events median 0.95LCL 0.95UCL
U_R_F=Metro 10196   2813     NA   158.3      NA
U_R_F=Urban  1306    431    144   126.4      NA
U_R_F=Rural   154     59    118    74.5      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ U_R_F, data = data)

342 observations deleted due to missingness 
                U_R_F=Metro 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   7977    1058    0.890 0.00319        0.884        0.897
   24   6615     547    0.826 0.00397        0.818        0.834
   36   5388     369    0.777 0.00448        0.768        0.786
   48   4386     248    0.739 0.00488        0.729        0.748
   60   3524     176    0.706 0.00524        0.696        0.717
  120    804     371    0.586 0.00758        0.571        0.601

                U_R_F=Urban 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    996     165    0.867 0.00965        0.848        0.886
   24    831      90    0.786 0.01195        0.763        0.810
   36    699      50    0.736 0.01310        0.711        0.763
   48    579      35    0.697 0.01399        0.670        0.725
   60    484      26    0.664 0.01476        0.636        0.694
  120    125      57    0.548 0.01910        0.512        0.587

                U_R_F=Rural 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    113      27    0.818  0.0317        0.758        0.883
   24     92      13    0.722  0.0377        0.651        0.799
   36     80       7    0.666  0.0402        0.591        0.749
   48     67       3    0.639  0.0414        0.563        0.726
   60     56       1    0.629  0.0420        0.552        0.717
  120     11       8    0.465  0.0648        0.354        0.611




   
## Univariable Cox Proportional Hazard Model for:  U_R_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ U_R_F, data = data)

  n= 11656, number of events= 3303 
   (342 observations deleted due to missingness)

              coef exp(coef) se(coef)     z Pr(>|z|)   
U_R_FUrban 0.16870   1.18376  0.05174 3.261  0.00111 **
U_R_FRural 0.36265   1.43713  0.13155 2.757  0.00584 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

           exp(coef) exp(-coef) lower .95 upper .95
U_R_FUrban     1.184     0.8448     1.070      1.31
U_R_FRural     1.437     0.6958     1.111      1.86

Concordance= 0.513  (se = 0.003 )
Rsquare= 0.001   (max possible= 0.993 )
Likelihood ratio test= 16.28  on 2 df,   p=0.0002912
Wald test            = 17.34  on 2 df,   p=0.0001717
Score (logrank) test = 17.44  on 2 df,   p=0.0001634
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  U_R_F

Class (treatment at performing facility)

uni_var(test_var = "CLASS_OF_CASE_F", data_imp = data)
_________________________________________________
   
## CLASS_OF_CASE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CLASS_OF_CASE_F, data = data)

                                   n events median 0.95LCL 0.95UCL
CLASS_OF_CASE_F=Other_Facility   676    140     NA     106      NA
CLASS_OF_CASE_F=All_Part_Prim  11322   3266     NA     155      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CLASS_OF_CASE_F, data = data)

                CLASS_OF_CASE_F=Other_Facility 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    385      57    0.889  0.0139        0.862        0.917
   24    305      24    0.829  0.0176        0.796        0.865
   36    248      21    0.769  0.0206        0.730        0.811
   48    188      11    0.731  0.0226        0.688        0.777
   60    147       6    0.705  0.0242        0.659        0.754
  120     29      19    0.554  0.0379        0.484        0.633

                CLASS_OF_CASE_F=All_Part_Prim 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   8957    1230    0.886 0.00305        0.880        0.892
   24   7434     647    0.819 0.00380        0.812        0.827
   36   6073     419    0.770 0.00426        0.762        0.779
   48   4963     283    0.732 0.00463        0.723        0.741
   60   4015     202    0.699 0.00495        0.690        0.709
  120    933     433    0.579 0.00703        0.566        0.593




   
## Univariable Cox Proportional Hazard Model for:  CLASS_OF_CASE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CLASS_OF_CASE_F, data = data)

  n= 11998, number of events= 3406 

                                 coef exp(coef) se(coef)      z Pr(>|z|)
CLASS_OF_CASE_FAll_Part_Prim -0.01930   0.98088  0.08634 -0.224    0.823

                             exp(coef) exp(-coef) lower .95 upper .95
CLASS_OF_CASE_FAll_Part_Prim    0.9809      1.019    0.8282     1.162

Concordance= 0.5  (se = 0.002 )
Rsquare= 0   (max possible= 0.993 )
Likelihood ratio test= 0.05  on 1 df,   p=0.8236
Wald test            = 0.05  on 1 df,   p=0.8231
Score (logrank) test = 0.05  on 1 df,   p=0.8231
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  CLASS_OF_CASE_F

Year

uni_var(test_var = "YEAR_OF_DIAGNOSIS", data_imp = data)
_________________________________________________
   
## YEAR_OF_DIAGNOSIS
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ YEAR_OF_DIAGNOSIS, data = data)

                          n events median 0.95LCL 0.95UCL
YEAR_OF_DIAGNOSIS=2004  784    318     NA   131.0      NA
YEAR_OF_DIAGNOSIS=2005  872    357  147.6   134.6      NA
YEAR_OF_DIAGNOSIS=2006  841    297     NA      NA      NA
YEAR_OF_DIAGNOSIS=2007  861    309     NA      NA      NA
YEAR_OF_DIAGNOSIS=2008  929    314     NA   115.5      NA
YEAR_OF_DIAGNOSIS=2009 1102    348     NA   104.8      NA
YEAR_OF_DIAGNOSIS=2010 1044    296     NA    93.9      NA
YEAR_OF_DIAGNOSIS=2011  967    255     NA      NA      NA
YEAR_OF_DIAGNOSIS=2012 1009    254     NA    69.6      NA
YEAR_OF_DIAGNOSIS=2013 1132    268   59.6      NA      NA
YEAR_OF_DIAGNOSIS=2014 1194    218     NA    46.3      NA
YEAR_OF_DIAGNOSIS=2015 1263    172     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ YEAR_OF_DIAGNOSIS, data = data)

                YEAR_OF_DIAGNOSIS=2004 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    639      94    0.876  0.0120        0.853        0.900
   24    572      42    0.817  0.0142        0.790        0.845
   36    523      39    0.761  0.0158        0.731        0.793
   48    488      31    0.716  0.0169        0.683        0.749
   60    452      26    0.677  0.0176        0.644        0.712
  120    270      65    0.564  0.0195        0.527        0.604

                YEAR_OF_DIAGNOSIS=2005 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    702     105    0.875  0.0114        0.853        0.898
   24    613      62    0.796  0.0141        0.769        0.824
   36    572      38    0.746  0.0154        0.717        0.777
   48    534      29    0.708  0.0161        0.677        0.741
   60    498      25    0.675  0.0167        0.643        0.708
  120    303      75    0.560  0.0184        0.525        0.597

                YEAR_OF_DIAGNOSIS=2006 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    675     106    0.869  0.0119        0.846        0.893
   24    595      50    0.803  0.0142        0.776        0.831
   36    549      33    0.758  0.0154        0.728        0.789
   48    522      20    0.730  0.0160        0.699        0.762
   60    490      20    0.702  0.0166        0.670        0.735
  120    277      60    0.603  0.0186        0.568        0.641

                YEAR_OF_DIAGNOSIS=2007 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    703     115    0.863  0.0118        0.841        0.887
   24    606      66    0.780  0.0145        0.752        0.809
   36    564      25    0.748  0.0153        0.718        0.778
   48    524      24    0.715  0.0160        0.685        0.747
   60    478      18    0.690  0.0165        0.659        0.723
  120    112      59    0.583  0.0193        0.547        0.622

                YEAR_OF_DIAGNOSIS=2008 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    747      97    0.890  0.0105        0.870        0.911
   24    655      64    0.812  0.0134        0.786        0.839
   36    583      52    0.747  0.0151        0.718        0.777
   48    531      18    0.723  0.0156        0.693        0.754
   60    478      20    0.695  0.0162        0.664        0.728

                YEAR_OF_DIAGNOSIS=2009 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    883     120    0.886 0.00978        0.867        0.906
   24    802      60    0.825 0.01187        0.802        0.849
   36    719      42    0.781 0.01307        0.756        0.807
   48    654      40    0.737 0.01407        0.709        0.765
   60    600      20    0.713 0.01455        0.685        0.743

                YEAR_OF_DIAGNOSIS=2010 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    849      99    0.901  0.0095        0.882        0.919
   24    752      54    0.842  0.0118        0.819        0.865
   36    692      33    0.804  0.0129        0.779        0.830
   48    622      42    0.754  0.0142        0.727        0.783
   60    545      26    0.721  0.0150        0.692        0.751

                YEAR_OF_DIAGNOSIS=2011 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    775      96    0.896  0.0101        0.876        0.916
   24    681      50    0.836  0.0125        0.812        0.861
   36    616      35    0.792  0.0138        0.765        0.820
   48    546      31    0.751  0.0150        0.722        0.781
   60    431      26    0.712  0.0160        0.681        0.744

                YEAR_OF_DIAGNOSIS=2012 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    782     103    0.891  0.0102        0.871        0.911
   24    675      57    0.823  0.0128        0.799        0.849
   36    579      48    0.763  0.0145        0.735        0.792
   48    475      21    0.734  0.0153        0.704        0.764
   60    190      20    0.691  0.0173        0.658        0.726

                YEAR_OF_DIAGNOSIS=2013 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    859     127    0.881 0.00993        0.862        0.901
   24    723      55    0.821 0.01209        0.798        0.845
   36    602      51    0.761 0.01384        0.735        0.789
   48    254      28    0.718 0.01540        0.688        0.748

                YEAR_OF_DIAGNOSIS=2014 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    874     119    0.892 0.00939        0.874        0.911
   24    706      59    0.828 0.01188        0.805        0.851
   36    322      30    0.786 0.01358        0.760        0.813
   48      1      10    0.596 0.09784        0.432        0.822

                YEAR_OF_DIAGNOSIS=2015 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    854     106    0.905 0.00883        0.888        0.922
   24    359      52    0.834 0.01268        0.810        0.860




   
## Univariable Cox Proportional Hazard Model for:  YEAR_OF_DIAGNOSIS
X matrix deemed to be singular; variable 12
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ YEAR_OF_DIAGNOSIS, data = data)

  n= 11998, number of events= 3406 

                           coef exp(coef)  se(coef)      z Pr(>|z|)
YEAR_OF_DIAGNOSIS2005  0.038218  1.038958  0.077343  0.494    0.621
YEAR_OF_DIAGNOSIS2006 -0.086521  0.917116  0.081167 -1.066    0.286
YEAR_OF_DIAGNOSIS2007 -0.021762  0.978474  0.080638 -0.270    0.787
YEAR_OF_DIAGNOSIS2008 -0.006121  0.993898  0.080522 -0.076    0.939
YEAR_OF_DIAGNOSIS2009 -0.052533  0.948823  0.078767 -0.667    0.505
YEAR_OF_DIAGNOSIS2010 -0.108782  0.896926  0.082115 -1.325    0.185
YEAR_OF_DIAGNOSIS2011 -0.102864  0.902249  0.085540 -1.203    0.229
YEAR_OF_DIAGNOSIS2012 -0.033700  0.966861  0.085854 -0.393    0.695
YEAR_OF_DIAGNOSIS2013  0.015675  1.015798  0.084922  0.185    0.854
YEAR_OF_DIAGNOSIS2014 -0.094351  0.909963  0.090166 -1.046    0.295
YEAR_OF_DIAGNOSIS2015 -0.158429  0.853484  0.097244 -1.629    0.103
YEAR_OF_DIAGNOSIS2016        NA        NA  0.000000     NA       NA

                      exp(coef) exp(-coef) lower .95 upper .95
YEAR_OF_DIAGNOSIS2005    1.0390     0.9625    0.8928     1.209
YEAR_OF_DIAGNOSIS2006    0.9171     1.0904    0.7822     1.075
YEAR_OF_DIAGNOSIS2007    0.9785     1.0220    0.8354     1.146
YEAR_OF_DIAGNOSIS2008    0.9939     1.0061    0.8488     1.164
YEAR_OF_DIAGNOSIS2009    0.9488     1.0539    0.8131     1.107
YEAR_OF_DIAGNOSIS2010    0.8969     1.1149    0.7636     1.054
YEAR_OF_DIAGNOSIS2011    0.9022     1.1083    0.7630     1.067
YEAR_OF_DIAGNOSIS2012    0.9669     1.0343    0.8171     1.144
YEAR_OF_DIAGNOSIS2013    1.0158     0.9844    0.8600     1.200
YEAR_OF_DIAGNOSIS2014    0.9100     1.0989    0.7626     1.086
YEAR_OF_DIAGNOSIS2015    0.8535     1.1717    0.7054     1.033
YEAR_OF_DIAGNOSIS2016        NA         NA        NA        NA

Concordance= 0.519  (se = 0.005 )
Rsquare= 0.001   (max possible= 0.993 )
Likelihood ratio test= 9.76  on 11 df,   p=0.5522
Wald test            = 9.73  on 11 df,   p=0.555
Score (logrank) test = 9.74  on 11 df,   p=0.554
Removed 2 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  YEAR_OF_DIAGNOSIS
This manual palette can handle a maximum of 10 values. You have supplied 12.

Primary Site

uni_var(test_var = "SITE_TEXT", data_imp = data)
_________________________________________________
   
## SITE_TEXT
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SITE_TEXT, data = data)

                                                             n events median 0.95LCL 0.95UCL
SITE_TEXT=C01.9 Tongue: Base NOS                             5      3  17.84   13.60      NA
SITE_TEXT=C02.1 Tongue: Border, Tip                          1      0     NA      NA      NA
SITE_TEXT=C02.9 Tongue: NOS                                  1      1   0.72      NA      NA
SITE_TEXT=C03.0 Gum: Upper                                   1      1   9.17      NA      NA
SITE_TEXT=C03.9 Gum NOS                                      1      0     NA      NA      NA
SITE_TEXT=C04.9 Floor of Mouth NOS                           1      1   6.31      NA      NA
SITE_TEXT=C05.0 Hard Palate                                 15      5     NA    5.26      NA
SITE_TEXT=C05.1 Soft Palate NOS                              9      4     NA    8.11      NA
SITE_TEXT=C05.8 Palate: Overlapping                          2      2   8.53    3.88      NA
SITE_TEXT=C05.9 Palate NOS                                   4      2  53.91    3.65      NA
SITE_TEXT=C06.0 Cheek Mucosa                                 3      2   1.87    0.99      NA
SITE_TEXT=C06.1 Mouth: Vestibule                             2      2   3.58    2.27      NA
SITE_TEXT=C06.9 Mouth NOS                                    1      1   6.51      NA      NA
SITE_TEXT=C07.9 Parotid Gland                                1      1  12.16      NA      NA
SITE_TEXT=C09.8 Tonsil: Overlapping                          1      1  16.26      NA      NA
SITE_TEXT=C09.9 Tonsil NOS                                   9      3     NA    8.64      NA
SITE_TEXT=C11.1 Nasopharynx: Poster Wall                     2      0     NA      NA      NA
SITE_TEXT=C14.2 Waldeyer Ring                                4      2  20.34    2.50      NA
SITE_TEXT=C30.0 Nasal Cavity                               572    245  93.96   49.84      NA
SITE_TEXT=C37.9 Thymus                                       4      3  12.86    3.35      NA
SITE_TEXT=C42.2 Spleen                                       4      3  35.47    4.70      NA
SITE_TEXT=C44.0 Skin of lip, NOS                            38      8     NA      NA      NA
SITE_TEXT=C44.1 Eyelid                                      31      9     NA   96.79      NA
SITE_TEXT=C44.2 External ear                                51     11     NA   89.46      NA
SITE_TEXT=C44.3 Skin of ear and unspecified parts of face  721    114     NA      NA      NA
SITE_TEXT=C44.4 Skin of scalp and neck                     416     71     NA      NA      NA
SITE_TEXT=C44.5 Skin of trunk                             1762    352     NA      NA      NA
SITE_TEXT=C44.6 Skin of upper limb and shoulder            866    196     NA      NA      NA
SITE_TEXT=C44.7 Skin of lower limb and hip                1210    296     NA  150.05      NA
SITE_TEXT=C44.8 Overlapping lesion of skin                 820    264 135.52  103.13      NA
SITE_TEXT=C44.9 Skin, NOS                                 4677   1393 132.34  124.12      NA
SITE_TEXT=C50.0 Nipple                                       1      1   6.05      NA      NA
SITE_TEXT=C51.9 Vulva, NOS                                   6      2     NA   84.47      NA
SITE_TEXT=C52.9 Vagina, NOS                                  2      2  32.03    3.25      NA
SITE_TEXT=C60.0 Prepuce                                      2      0     NA      NA      NA
SITE_TEXT=C60.9 Penis                                        4      0     NA      NA      NA
SITE_TEXT=C77.0 Lymph Nodes: HeadFaceNeck                   75     33  68.27   26.18      NA
SITE_TEXT=C77.1 Intrathoracic Lymph Nodes                   97     38     NA   61.90      NA
SITE_TEXT=C77.2 Intra-abdominal LymphNodes                  27     23   6.28    3.78    51.3
SITE_TEXT=C77.3 Lymph Nodes of axilla or arm                26     11     NA   21.06      NA
SITE_TEXT=C77.4 Lymph Nodes: Leg                            20     12  25.03   13.11      NA
SITE_TEXT=C77.5 Pelvic Lymph Nodes                           6      6   1.97    1.18      NA
SITE_TEXT=C77.8 Lymph Nodes: multiple region               226    117  28.25   23.10      NA
SITE_TEXT=C77.9 Lymph Node NOS                             271    165  19.48   14.29    29.8

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SITE_TEXT, data = data)

                SITE_TEXT=C01.9 Tongue: Base NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       1    0.800   0.179       0.5161            1
   24      1       2    0.267   0.226       0.0507            1
   36      1       0    0.267   0.226       0.0507            1
   48      1       0    0.267   0.226       0.0507            1
   60      1       0    0.267   0.226       0.0507            1

                SITE_TEXT=C02.1 Tongue: Border, Tip 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1
   60      1       0        1       0            1            1

                SITE_TEXT=C02.9 Tongue: NOS 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                SITE_TEXT=C03.0 Gum: Upper 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                SITE_TEXT=C03.9 Gum NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1

                SITE_TEXT=C04.9 Floor of Mouth NOS 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                SITE_TEXT=C05.0 Hard Palate 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      6       5    0.583   0.142        0.362        0.941
   24      5       0    0.583   0.142        0.362        0.941
   36      5       0    0.583   0.142        0.362        0.941
   48      3       0    0.583   0.142        0.362        0.941
   60      3       0    0.583   0.142        0.362        0.941

                SITE_TEXT=C05.1 Soft Palate NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      6       3    0.667   0.157         0.42        1.000
   24      3       1    0.556   0.166         0.31        0.997
   36      2       0    0.556   0.166         0.31        0.997
   48      2       0    0.556   0.166         0.31        0.997

                SITE_TEXT=C05.8 Palate: Overlapping 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
      12.000        1.000        1.000        0.500        0.354        0.125        1.000 

                SITE_TEXT=C05.9 Palate NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       1    0.667   0.272       0.2995            1
   24      2       0    0.667   0.272       0.2995            1
   36      2       0    0.667   0.272       0.2995            1
   48      2       0    0.667   0.272       0.2995            1
   60      1       1    0.333   0.272       0.0673            1
  120      1       0    0.333   0.272       0.0673            1

                SITE_TEXT=C06.0 Cheek Mucosa 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       2    0.333   0.272       0.0673            1
   24      1       0    0.333   0.272       0.0673            1
   36      1       0    0.333   0.272       0.0673            1

                SITE_TEXT=C06.1 Mouth: Vestibule 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                SITE_TEXT=C06.9 Mouth NOS 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                SITE_TEXT=C07.9 Parotid Gland 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
          12            1            0            1            0            1            1 

                SITE_TEXT=C09.8 Tonsil: Overlapping 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
          12            1            0            1            0            1            1 

                SITE_TEXT=C09.9 Tonsil NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      4       3    0.593   0.185        0.322            1
   24      4       0    0.593   0.185        0.322            1
   36      2       0    0.593   0.185        0.322            1
   48      2       0    0.593   0.185        0.322            1
   60      2       0    0.593   0.185        0.322            1
  120      1       0    0.593   0.185        0.322            1

                SITE_TEXT=C11.1 Nasopharynx: Poster Wall 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      2       0        1       0            1            1

                SITE_TEXT=C14.2 Waldeyer Ring 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       1     0.75   0.217        0.426            1
   24      2       1     0.50   0.250        0.188            1
   36      2       0     0.50   0.250        0.188            1
   48      1       0     0.50   0.250        0.188            1
   60      1       0     0.50   0.250        0.188            1
  120      1       0     0.50   0.250        0.188            1

                SITE_TEXT=C30.0 Nasal Cavity 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    354     168    0.696  0.0197        0.658        0.735
   24    273      38    0.617  0.0212        0.577        0.660
   36    215      15    0.581  0.0219        0.540        0.626
   48    166      13    0.543  0.0229        0.500        0.590
   60    132       2    0.536  0.0231        0.493        0.583
  120     33       8    0.489  0.0269        0.439        0.545

                SITE_TEXT=C37.9 Thymus 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       2     0.50   0.250       0.1877            1
   24      1       1     0.25   0.217       0.0458            1
   36      1       0     0.25   0.217       0.0458            1
   48      1       0     0.25   0.217       0.0458            1
   60      1       0     0.25   0.217       0.0458            1

                SITE_TEXT=C42.2 Spleen 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       1     0.75   0.217       0.4259            1
   24      3       0     0.75   0.217       0.4259            1
   36      2       1     0.50   0.250       0.1877            1
   48      1       1     0.25   0.217       0.0458            1
   60      1       0     0.25   0.217       0.0458            1
  120      1       0     0.25   0.217       0.0458            1

                SITE_TEXT=C44.0 Skin of lip, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     32       1    0.974  0.0260        0.924        1.000
   24     21       4    0.838  0.0669        0.717        0.980
   36     17       2    0.752  0.0833        0.605        0.935
   48     15       0    0.752  0.0833        0.605        0.935
   60      9       1    0.694  0.0949        0.531        0.908
  120      4       0    0.694  0.0949        0.531        0.908

                SITE_TEXT=C44.1 Eyelid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     30       1    0.968  0.0317        0.908        1.000
   24     23       3    0.864  0.0633        0.749        0.997
   36     20       0    0.864  0.0633        0.749        0.997
   48     19       0    0.864  0.0633        0.749        0.997
   60     12       3    0.711  0.0964        0.545        0.928
  120      4       2    0.533  0.1307        0.330        0.862

                SITE_TEXT=C44.2 External ear 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     43       2    0.957  0.0296        0.901        1.000
   24     38       0    0.957  0.0296        0.901        1.000
   36     32       2    0.905  0.0457        0.819        0.999
   48     23       4    0.787  0.0679        0.665        0.932
   60     18       0    0.787  0.0679        0.665        0.932
  120      4       3    0.517  0.1440        0.299        0.892

                SITE_TEXT=C44.3 Skin of ear and unspecified parts of face 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    621      25    0.963  0.0072        0.949        0.978
   24    527      21    0.929  0.0102        0.909        0.949
   36    460      14    0.903  0.0120        0.880        0.927
   48    369      15    0.871  0.0142        0.843        0.899
   60    312      11    0.843  0.0160        0.812        0.875
  120     73      24    0.739  0.0257        0.690        0.791

                SITE_TEXT=C44.4 Skin of scalp and neck 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    346      21    0.947  0.0113        0.925        0.969
   24    307      12    0.914  0.0144        0.886        0.942
   36    258      10    0.882  0.0171        0.849        0.916
   48    220       3    0.871  0.0181        0.836        0.907
   60    194       6    0.846  0.0201        0.808        0.887
  120     55      17    0.736  0.0318        0.676        0.801

                SITE_TEXT=C44.5 Skin of trunk 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1421     113    0.931 0.00626        0.919        0.944
   24   1217      55    0.893 0.00784        0.878        0.908
   36   1029      48    0.856 0.00918        0.838        0.874
   48    893      28    0.831 0.01003        0.812        0.851
   60    729      36    0.795 0.01123        0.774        0.818
  120    181      65    0.686 0.01663        0.654        0.719

                SITE_TEXT=C44.6 Skin of upper limb and shoulder 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    706      58    0.928 0.00912        0.910        0.946
   24    597      37    0.877 0.01189        0.854        0.900
   36    498      26    0.836 0.01375        0.810        0.864
   48    410      21    0.798 0.01544        0.768        0.829
   60    344      12    0.773 0.01655        0.741        0.806
  120     82      37    0.648 0.02454        0.602        0.698

                SITE_TEXT=C44.7 Skin of lower limb and hip 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    988      82    0.928 0.00767        0.913        0.943
   24    828      72    0.857 0.01070        0.837        0.879
   36    703      38    0.816 0.01210        0.793        0.840
   48    577      29    0.779 0.01334        0.754        0.806
   60    466      20    0.750 0.01439        0.722        0.778
  120    105      50    0.606 0.02326        0.562        0.653

                SITE_TEXT=C44.8 Overlapping lesion of skin 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    650      80    0.896  0.0110        0.874        0.918
   24    539      59    0.811  0.0145        0.783        0.840
   36    446      36    0.753  0.0164        0.722        0.786
   48    360      25    0.709  0.0177        0.675        0.744
   60    280      21    0.664  0.0191        0.627        0.702
  120     52      39    0.506  0.0280        0.454        0.564

                SITE_TEXT=C44.9 Skin, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3652     462    0.895 0.00461        0.886        0.905
   24   2990     279    0.823 0.00594        0.812        0.835
   36   2342     207    0.762 0.00686        0.749        0.775
   48   1845     144    0.711 0.00760        0.696        0.726
   60   1443      90    0.673 0.00819        0.657        0.689
  120    305     186    0.532 0.01204        0.509        0.556

                SITE_TEXT=C50.0 Nipple 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                SITE_TEXT=C51.9 Vulva, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      5       0      1.0   0.000        1.000            1
   24      4       1      0.8   0.179        0.516            1
   36      4       0      0.8   0.179        0.516            1
   48      4       0      0.8   0.179        0.516            1
   60      4       0      0.8   0.179        0.516            1

                SITE_TEXT=C52.9 Vagina, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       1      0.5   0.354        0.125            1
   24      1       0      0.5   0.354        0.125            1
   36      1       0      0.5   0.354        0.125            1
   48      1       0      0.5   0.354        0.125            1
   60      1       0      0.5   0.354        0.125            1

                SITE_TEXT=C60.0 Prepuce 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      2       0        1       0            1            1
   36      2       0        1       0            1            1
   48      2       0        1       0            1            1
   60      1       0        1       0            1            1

                SITE_TEXT=C60.9 Penis 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      2       0        1       0            1            1
   36      2       0        1       0            1            1
   48      2       0        1       0            1            1
   60      1       0        1       0            1            1

                SITE_TEXT=C77.0 Lymph Nodes: HeadFaceNeck 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     48      18    0.743  0.0524        0.647        0.853
   24     37       7    0.628  0.0596        0.522        0.757
   36     30       4    0.559  0.0623        0.450        0.696
   48     28       1    0.541  0.0629        0.431        0.679
   60     27       1    0.522  0.0636        0.411        0.662
  120      8       2    0.481  0.0647        0.370        0.626

                SITE_TEXT=C77.1 Intrathoracic Lymph Nodes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     79      13    0.861  0.0358        0.794        0.934
   24     60      17    0.674  0.0490        0.585        0.777
   36     52       2    0.651  0.0499        0.560        0.757
   48     47       2    0.625  0.0512        0.533        0.734
   60     37       2    0.597  0.0526        0.502        0.710
  120     13       2    0.562  0.0551        0.464        0.681

                SITE_TEXT=C77.2 Intra-abdominal LymphNodes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      7      18   0.3009  0.0926       0.1647        0.550
   24      6       1   0.2579  0.0888       0.1314        0.506
   36      6       0   0.2579  0.0888       0.1314        0.506
   48      6       0   0.2579  0.0888       0.1314        0.506
   60      4       2   0.1720  0.0772       0.0713        0.415
  120      1       2   0.0645  0.0571       0.0114        0.366

                SITE_TEXT=C77.3 Lymph Nodes of axilla or arm  
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     17       7    0.720  0.0898        0.564        0.919
   24     14       2    0.632  0.0980        0.467        0.857
   36     10       2    0.538  0.1036        0.369        0.785
   48      9       0    0.538  0.1036        0.369        0.785
   60      9       0    0.538  0.1036        0.369        0.785
  120      5       0    0.538  0.1036        0.369        0.785

                SITE_TEXT=C77.4 Lymph Nodes: Leg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     13       6    0.684   0.107        0.504        0.929
   24      9       3    0.526   0.115        0.344        0.806
   36      7       2    0.409   0.115        0.236        0.710
   48      6       1    0.351   0.113        0.187        0.658
   60      6       0    0.351   0.113        0.187        0.658
  120      3       0    0.351   0.113        0.187        0.658

                SITE_TEXT=C77.5 Pelvic Lymph Nodes 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
      12.000        2.000        4.000        0.333        0.192        0.108        1.000 

                SITE_TEXT=C77.8 Lymph Nodes: multiple region 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    142      73    0.668  0.0318        0.609        0.734
   24    110      23    0.555  0.0341        0.492        0.626
   36     84      13    0.488  0.0347        0.425        0.561
   48     66       5    0.457  0.0352        0.393        0.531
   60     60       0    0.457  0.0352        0.393        0.531
  120     15       3    0.420  0.0384        0.351        0.503

                SITE_TEXT=C77.9 Lymph Node NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    144     107    0.589  0.0306        0.532        0.652
   24    108      27    0.476  0.0316        0.418        0.542
   36     84      18    0.394  0.0315        0.337        0.461
   48     69       2    0.385  0.0314        0.328        0.452
   60     62       0    0.385  0.0314        0.328        0.452
  120     15      10    0.301  0.0347        0.240        0.378




   
## Univariable Cox Proportional Hazard Model for:  SITE_TEXT
Loglik converged before variable  11,19,36,60,64 ; beta may be infinite. X matrix deemed to be singular; variable 1 2 3 4 5 6 7 8 10 12 13 14 15 18 20 21 25 30 31 40 42 54 55 56 57 61 62 63 65 73
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SITE_TEXT, data = data)

  n= 11998, number of events= 3406 

                                                               coef  exp(coef)   se(coef)       z Pr(>|z|)    
SITE_TEXTC00.1 External Lip: Lower NOS                           NA         NA  0.000e+00      NA       NA    
SITE_TEXTC00.2 External Lip: NOS                                 NA         NA  0.000e+00      NA       NA    
SITE_TEXTC00.3 Lip: Upper Mucosa                                 NA         NA  0.000e+00      NA       NA    
SITE_TEXTC00.4 Lip: Lower Mucosa                                 NA         NA  0.000e+00      NA       NA    
SITE_TEXTC00.5 Lip: Mucosa NOS                                   NA         NA  0.000e+00      NA       NA    
SITE_TEXTC00.6 Lip: Commissure                                   NA         NA  0.000e+00      NA       NA    
SITE_TEXTC00.8 Lip: Overlapping                                  NA         NA  0.000e+00      NA       NA    
SITE_TEXTC00.9 Lip NOS                                           NA         NA  0.000e+00      NA       NA    
SITE_TEXTC01.9 Tongue: Base NOS                           2.672e-01  1.306e+00  5.826e-01   0.459 0.646559    
SITE_TEXTC02.0 Tongue: Dorsal NOS                                NA         NA  0.000e+00      NA       NA    
SITE_TEXTC02.1 Tongue: Border, Tip                       -1.375e+01  1.072e-06  7.517e+02  -0.018 0.985411    
SITE_TEXTC02.2 Tongue: Ventral NOS                               NA         NA  0.000e+00      NA       NA    
SITE_TEXTC02.3 Tongue: Anterior NOS                              NA         NA  0.000e+00      NA       NA    
SITE_TEXTC02.4 Lingual Tonsil                                    NA         NA  0.000e+00      NA       NA    
SITE_TEXTC02.8 Tongue: Overlapping                               NA         NA  0.000e+00      NA       NA    
SITE_TEXTC02.9 Tongue: NOS                                3.574e+00  3.565e+01  1.007e+00   3.548 0.000388 ***
SITE_TEXTC03.0 Gum: Upper                                 1.259e+00  3.521e+00  1.003e+00   1.255 0.209616    
SITE_TEXTC03.1 Gum: Lower                                        NA         NA  0.000e+00      NA       NA    
SITE_TEXTC03.9 Gum NOS                                   -1.373e+01  1.090e-06  1.115e+03  -0.012 0.990176    
SITE_TEXTC04.0 Mouth: Anterior Floor                             NA         NA  0.000e+00      NA       NA    
SITE_TEXTC04.1 Mouth: Lateral Floor                              NA         NA  0.000e+00      NA       NA    
SITE_TEXTC04.9 Floor of Mouth NOS                         1.594e+00  4.925e+00  1.003e+00   1.589 0.112100    
SITE_TEXTC05.0 Hard Palate                               -4.223e-01  6.555e-01  4.540e-01  -0.930 0.352251    
SITE_TEXTC05.1 Soft Palate NOS                           -2.067e-01  8.132e-01  5.061e-01  -0.408 0.682924    
SITE_TEXTC05.2 Uvula                                             NA         NA  0.000e+00      NA       NA    
SITE_TEXTC05.8 Palate: Overlapping                        1.354e+00  3.872e+00  7.117e-01   1.902 0.057159 .  
SITE_TEXTC05.9 Palate NOS                                -4.650e-01  6.281e-01  7.115e-01  -0.653 0.513445    
SITE_TEXTC06.0 Cheek Mucosa                               6.656e-01  1.946e+00  7.115e-01   0.936 0.349492    
SITE_TEXTC06.1 Mouth: Vestibule                           2.118e+00  8.311e+00  7.123e-01   2.973 0.002952 ** 
SITE_TEXTC06.2 Retromolar Area                                   NA         NA  0.000e+00      NA       NA    
SITE_TEXTC06.8 Mouth: Other Overlapping                          NA         NA  0.000e+00      NA       NA    
SITE_TEXTC06.9 Mouth NOS                                  1.561e+00  4.763e+00  1.003e+00   1.556 0.119804    
SITE_TEXTC07.9 Parotid Gland                              1.016e+00  2.762e+00  1.003e+00   1.013 0.311168    
SITE_TEXTC09.8 Tonsil: Overlapping                        8.025e-01  2.231e+00  1.003e+00   0.800 0.423753    
SITE_TEXTC09.9 Tonsil NOS                                -6.770e-01  5.081e-01  5.826e-01  -1.162 0.245198    
SITE_TEXTC11.1 Nasopharynx: Poster Wall                  -1.373e+01  1.090e-06  7.913e+02  -0.017 0.986157    
SITE_TEXTC14.2 Waldeyer Ring                             -5.050e-01  6.035e-01  7.114e-01  -0.710 0.477800    
SITE_TEXTC30.0 Nasal Cavity                              -4.643e-01  6.286e-01  1.007e-01  -4.610 4.04e-06 ***
SITE_TEXTC37.9 Thymus                                     2.903e-01  1.337e+00  5.826e-01   0.498 0.618347    
SITE_TEXTC42.0 Blood                                             NA         NA  0.000e+00      NA       NA    
SITE_TEXTC42.2 Spleen                                    -1.522e-01  8.589e-01  5.826e-01  -0.261 0.793971    
SITE_TEXTC42.4 Hematopoietic NOS                                 NA         NA  0.000e+00      NA       NA    
SITE_TEXTC44.0 Skin of lip, NOS                          -1.378e+00  2.520e-01  3.621e-01  -3.807 0.000141 ***
SITE_TEXTC44.1 Eyelid                                    -1.291e+00  2.750e-01  3.423e-01  -3.772 0.000162 ***
SITE_TEXTC44.2 External ear                              -1.480e+00  2.276e-01  3.114e-01  -4.753 2.01e-06 ***
SITE_TEXTC44.3 Skin of ear and unspecified parts of face -1.836e+00  1.595e-01  1.218e-01 -15.065  < 2e-16 ***
SITE_TEXTC44.4 Skin of scalp and neck                    -1.785e+00  1.678e-01  1.420e-01 -12.570  < 2e-16 ***
SITE_TEXTC44.5 Skin of trunk                             -1.558e+00  2.106e-01  9.441e-02 -16.497  < 2e-16 ***
SITE_TEXTC44.6 Skin of upper limb and shoulder           -1.420e+00  2.417e-01  1.057e-01 -13.435  < 2e-16 ***
SITE_TEXTC44.7 Skin of lower limb and hip                -1.332e+00  2.638e-01  9.721e-02 -13.708  < 2e-16 ***
SITE_TEXTC44.8 Overlapping lesion of skin                -9.998e-01  3.679e-01  9.928e-02 -10.071  < 2e-16 ***
SITE_TEXTC44.9 Skin, NOS                                 -1.041e+00  3.530e-01  8.236e-02 -12.643  < 2e-16 ***
SITE_TEXTC50.0 Nipple                                     1.626e+00  5.086e+00  1.003e+00   1.621 0.105062    
SITE_TEXTC51.0 Labium majus                                      NA         NA  0.000e+00      NA       NA    
SITE_TEXTC51.1 Labium minus                                      NA         NA  0.000e+00      NA       NA    
SITE_TEXTC51.2 Clitoris                                          NA         NA  0.000e+00      NA       NA    
SITE_TEXTC51.8 Overlapping lesion of vulva                       NA         NA  0.000e+00      NA       NA    
SITE_TEXTC51.9 Vulva, NOS                                -1.157e+00  3.145e-01  7.114e-01  -1.626 0.103925    
SITE_TEXTC52.9 Vagina, NOS                                4.953e-01  1.641e+00  7.114e-01   0.696 0.486262    
SITE_TEXTC60.0 Prepuce                                   -1.374e+01  1.082e-06  6.561e+02  -0.021 0.983295    
SITE_TEXTC60.1 Glans penis                                       NA         NA  0.000e+00      NA       NA    
SITE_TEXTC60.2 Body of penis                                     NA         NA  0.000e+00      NA       NA    
SITE_TEXTC60.8 Overlapping lesion of penis                       NA         NA  0.000e+00      NA       NA    
SITE_TEXTC60.9 Penis                                     -1.374e+01  1.081e-06  5.454e+02  -0.025 0.979905    
SITE_TEXTC63.2 Scrotum, NOS                                      NA         NA  0.000e+00      NA       NA    
SITE_TEXTC77.0 Lymph Nodes: HeadFaceNeck                 -5.598e-01  5.713e-01  1.907e-01  -2.935 0.003339 ** 
SITE_TEXTC77.1 Intrathoracic Lymph Nodes                 -8.607e-01  4.228e-01  1.800e-01  -4.782 1.73e-06 ***
SITE_TEXTC77.2 Intra-abdominal LymphNodes                 7.149e-01  2.044e+00  2.226e-01   3.211 0.001322 ** 
SITE_TEXTC77.3 Lymph Nodes of axilla or arm              -7.052e-01  4.940e-01  3.115e-01  -2.264 0.023586 *  
SITE_TEXTC77.4 Lymph Nodes: Leg                          -1.737e-01  8.406e-01  2.990e-01  -0.581 0.561427    
SITE_TEXTC77.5 Pelvic Lymph Nodes                         1.568e+00  4.799e+00  4.159e-01   3.771 0.000163 ***
SITE_TEXTC77.8 Lymph Nodes: multiple region              -3.031e-01  7.385e-01  1.209e-01  -2.508 0.012143 *  
SITE_TEXTC77.9 Lymph Node NOS                                    NA         NA  0.000e+00      NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                         exp(coef) exp(-coef) lower .95 upper .95
SITE_TEXTC00.1 External Lip: Lower NOS                          NA         NA        NA        NA
SITE_TEXTC00.2 External Lip: NOS                                NA         NA        NA        NA
SITE_TEXTC00.3 Lip: Upper Mucosa                                NA         NA        NA        NA
SITE_TEXTC00.4 Lip: Lower Mucosa                                NA         NA        NA        NA
SITE_TEXTC00.5 Lip: Mucosa NOS                                  NA         NA        NA        NA
SITE_TEXTC00.6 Lip: Commissure                                  NA         NA        NA        NA
SITE_TEXTC00.8 Lip: Overlapping                                 NA         NA        NA        NA
SITE_TEXTC00.9 Lip NOS                                          NA         NA        NA        NA
SITE_TEXTC01.9 Tongue: Base NOS                          1.306e+00  7.655e-01   0.41696    4.0923
SITE_TEXTC02.0 Tongue: Dorsal NOS                               NA         NA        NA        NA
SITE_TEXTC02.1 Tongue: Border, Tip                       1.072e-06  9.327e+05   0.00000       Inf
SITE_TEXTC02.2 Tongue: Ventral NOS                              NA         NA        NA        NA
SITE_TEXTC02.3 Tongue: Anterior NOS                             NA         NA        NA        NA
SITE_TEXTC02.4 Lingual Tonsil                                   NA         NA        NA        NA
SITE_TEXTC02.8 Tongue: Overlapping                              NA         NA        NA        NA
SITE_TEXTC02.9 Tongue: NOS                               3.565e+01  2.805e-02   4.95179  256.6127
SITE_TEXTC03.0 Gum: Upper                                3.521e+00  2.840e-01   0.49279   25.1597
SITE_TEXTC03.1 Gum: Lower                                       NA         NA        NA        NA
SITE_TEXTC03.9 Gum NOS                                   1.090e-06  9.176e+05   0.00000       Inf
SITE_TEXTC04.0 Mouth: Anterior Floor                            NA         NA        NA        NA
SITE_TEXTC04.1 Mouth: Lateral Floor                             NA         NA        NA        NA
SITE_TEXTC04.9 Floor of Mouth NOS                        4.925e+00  2.030e-01   0.68906   35.2029
SITE_TEXTC05.0 Hard Palate                               6.555e-01  1.525e+00   0.26927    1.5959
SITE_TEXTC05.1 Soft Palate NOS                           8.132e-01  1.230e+00   0.30161    2.1928
SITE_TEXTC05.2 Uvula                                            NA         NA        NA        NA
SITE_TEXTC05.8 Palate: Overlapping                       3.872e+00  2.583e-01   0.95965   15.6193
SITE_TEXTC05.9 Palate NOS                                6.281e-01  1.592e+00   0.15574    2.5336
SITE_TEXTC06.0 Cheek Mucosa                              1.946e+00  5.140e-01   0.48248    7.8465
SITE_TEXTC06.1 Mouth: Vestibule                          8.311e+00  1.203e-01   2.05735   33.5722
SITE_TEXTC06.2 Retromolar Area                                  NA         NA        NA        NA
SITE_TEXTC06.8 Mouth: Other Overlapping                         NA         NA        NA        NA
SITE_TEXTC06.9 Mouth NOS                                 4.763e+00  2.099e-01   0.66647   34.0461
SITE_TEXTC07.9 Parotid Gland                             2.762e+00  3.620e-01   0.38664   19.7341
SITE_TEXTC09.8 Tonsil: Overlapping                       2.231e+00  4.482e-01   0.31232   15.9374
SITE_TEXTC09.9 Tonsil NOS                                5.081e-01  1.968e+00   0.16221    1.5917
SITE_TEXTC11.1 Nasopharynx: Poster Wall                  1.090e-06  9.176e+05   0.00000       Inf
SITE_TEXTC14.2 Waldeyer Ring                             6.035e-01  1.657e+00   0.14966    2.4336
SITE_TEXTC30.0 Nasal Cavity                              6.286e-01  1.591e+00   0.51599    0.7658
SITE_TEXTC37.9 Thymus                                    1.337e+00  7.481e-01   0.42671    4.1877
SITE_TEXTC42.0 Blood                                            NA         NA        NA        NA
SITE_TEXTC42.2 Spleen                                    8.589e-01  1.164e+00   0.27416    2.6905
SITE_TEXTC42.4 Hematopoietic NOS                                NA         NA        NA        NA
SITE_TEXTC44.0 Skin of lip, NOS                          2.520e-01  3.968e+00   0.12396    0.5124
SITE_TEXTC44.1 Eyelid                                    2.750e-01  3.637e+00   0.14057    0.5379
SITE_TEXTC44.2 External ear                              2.276e-01  4.394e+00   0.12362    0.4191
SITE_TEXTC44.3 Skin of ear and unspecified parts of face 1.595e-01  6.269e+00   0.12562    0.2025
SITE_TEXTC44.4 Skin of scalp and neck                    1.678e-01  5.959e+00   0.12705    0.2217
SITE_TEXTC44.5 Skin of trunk                             2.106e-01  4.747e+00   0.17506    0.2535
SITE_TEXTC44.6 Skin of upper limb and shoulder           2.417e-01  4.137e+00   0.19647    0.2973
SITE_TEXTC44.7 Skin of lower limb and hip                2.638e-01  3.790e+00   0.21806    0.3192
SITE_TEXTC44.8 Overlapping lesion of skin                3.679e-01  2.718e+00   0.30289    0.4470
SITE_TEXTC44.9 Skin, NOS                                 3.530e-01  2.833e+00   0.30036    0.4148
SITE_TEXTC50.0 Nipple                                    5.086e+00  1.966e-01   0.71152   36.3528
SITE_TEXTC51.0 Labium majus                                     NA         NA        NA        NA
SITE_TEXTC51.1 Labium minus                                     NA         NA        NA        NA
SITE_TEXTC51.2 Clitoris                                         NA         NA        NA        NA
SITE_TEXTC51.8 Overlapping lesion of vulva                      NA         NA        NA        NA
SITE_TEXTC51.9 Vulva, NOS                                3.145e-01  3.180e+00   0.07799    1.2681
SITE_TEXTC52.9 Vagina, NOS                               1.641e+00  6.094e-01   0.40696    6.6177
SITE_TEXTC60.0 Prepuce                                   1.082e-06  9.244e+05   0.00000       Inf
SITE_TEXTC60.1 Glans penis                                      NA         NA        NA        NA
SITE_TEXTC60.2 Body of penis                                    NA         NA        NA        NA
SITE_TEXTC60.8 Overlapping lesion of penis                      NA         NA        NA        NA
SITE_TEXTC60.9 Penis                                     1.081e-06  9.248e+05   0.00000       Inf
SITE_TEXTC63.2 Scrotum, NOS                                     NA         NA        NA        NA
SITE_TEXTC77.0 Lymph Nodes: HeadFaceNeck                 5.713e-01  1.750e+00   0.39314    0.8303
SITE_TEXTC77.1 Intrathoracic Lymph Nodes                 4.228e-01  2.365e+00   0.29715    0.6017
SITE_TEXTC77.2 Intra-abdominal LymphNodes                2.044e+00  4.893e-01   1.32122    3.1620
SITE_TEXTC77.3 Lymph Nodes of axilla or arm              4.940e-01  2.024e+00   0.26829    0.9097
SITE_TEXTC77.4 Lymph Nodes: Leg                          8.406e-01  1.190e+00   0.46778    1.5105
SITE_TEXTC77.5 Pelvic Lymph Nodes                        4.799e+00  2.084e-01   2.12393   10.8447
SITE_TEXTC77.8 Lymph Nodes: multiple region              7.385e-01  1.354e+00   0.58273    0.9359
SITE_TEXTC77.9 Lymph Node NOS                                   NA         NA        NA        NA

Concordance= 0.63  (se = 0.005 )
Rsquare= 0.056   (max possible= 0.993 )
Likelihood ratio test= 689.9  on 43 df,   p=0
Wald test            = 825.5  on 43 df,   p=0
Score (logrank) test = 1096  on 43 df,   p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 31 rows containing missing values (geom_errorbar).Removed 74 rows containing missing values (geom_text).Removed 74 rows containing missing values (geom_text).Removed 74 rows containing missing values (geom_text).Removed 74 rows containing missing values (geom_text).Removed 74 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SITE_TEXT
This manual palette can handle a maximum of 10 values. You have supplied 44.

Histology

#uni_var(test_var = "HISTOLOGY_F_LIM", data_imp = data)

Grade

#uni_var(test_var = "GRADE_F", data_imp = data)

Clinical T Stage

uni_var(test_var = "TNM_CLIN_T", data_imp = data)
_________________________________________________
   
## TNM_CLIN_T
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_T, data = data)

   322 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_CLIN_T=N_A 6035   2015     NA   137.7      NA
TNM_CLIN_T=c1  1675    130     NA      NA      NA
TNM_CLIN_T=c1A  248     15     NA      NA      NA
TNM_CLIN_T=c1B  118     12     NA      NA      NA
TNM_CLIN_T=c2   811    164     NA   109.7      NA
TNM_CLIN_T=c2A   82      7     NA      NA      NA
TNM_CLIN_T=c2B  112     19     NA      NA      NA
TNM_CLIN_T=c3   399    160   59.4    50.8    95.0
TNM_CLIN_T=c4   438    216   43.9    37.4    55.5
TNM_CLIN_T=cX  1758    591  155.1   145.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_T, data = data)

322 observations deleted due to missingness 
                TNM_CLIN_T=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4498     946    0.836 0.00489        0.826        0.845
   24   3699     391    0.760 0.00576        0.749        0.771
   36   3077     205    0.716 0.00621        0.703        0.728
   48   2583     126    0.684 0.00653        0.672        0.697
   60   2167      92    0.658 0.00682        0.645        0.672
  120    547     231    0.552 0.00892        0.535        0.570

                TNM_CLIN_T=c1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1364      22    0.985 0.00309        0.979        0.991
   24   1163      21    0.969 0.00460        0.960        0.979
   36    921      23    0.949 0.00621        0.937        0.961
   48    682      25    0.919 0.00835        0.903        0.936
   60    475      13    0.899 0.00990        0.880        0.919
  120     35      26    0.783 0.03065        0.725        0.846

                TNM_CLIN_T=c1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    209       3    0.987 0.00724        0.973        1.000
   24    164       3    0.972 0.01143        0.950        0.995
   36    122       6    0.930 0.02003        0.892        0.970
   48     88       2    0.911 0.02378        0.865        0.959
   60     49       1    0.893 0.02926        0.837        0.952

                TNM_CLIN_T=c1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     94       0    1.000  0.0000        1.000        1.000
   24     69       8    0.907  0.0315        0.847        0.971
   36     46       1    0.890  0.0351        0.824        0.961
   48     36       0    0.890  0.0351        0.824        0.961
   60     22       2    0.827  0.0547        0.726        0.941

                TNM_CLIN_T=c2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    651      34    0.954  0.0077        0.939        0.969
   24    541      30    0.907  0.0112        0.885        0.929
   36    421      31    0.851  0.0143        0.823        0.879
   48    297      26    0.792  0.0174        0.759        0.827
   60    210      19    0.733  0.0207        0.694        0.775
  120     13      24    0.512  0.0535        0.417        0.628

                TNM_CLIN_T=c2A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     65       1    0.988  0.0124        0.963        1.000
   24     54       2    0.953  0.0266        0.903        1.000
   36     29       3    0.886  0.0456        0.801        0.980
   48     18       0    0.886  0.0456        0.801        0.980
   60     12       1    0.818  0.0778        0.678        0.985

                TNM_CLIN_T=c2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     86       2    0.980  0.0143        0.952        1.000
   24     62       5    0.918  0.0300        0.861        0.978
   36     39       7    0.798  0.0499        0.705        0.902
   48     26       4    0.701  0.0632        0.587        0.836
   60     18       0    0.701  0.0632        0.587        0.836

                TNM_CLIN_T=c3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    318      43    0.886  0.0163        0.855        0.919
   24    230      50    0.738  0.0235        0.694        0.786
   36    160      28    0.641  0.0267        0.590        0.695
   48    112      19    0.558  0.0293        0.503        0.618
   60     67      11    0.490  0.0321        0.431        0.558
  120      3       9    0.359  0.0479        0.276        0.466

                TNM_CLIN_T=c4 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    312      76    0.816  0.0192        0.779        0.854
   24    238      45    0.691  0.0236        0.647        0.739
   36    165      42    0.562  0.0263        0.513        0.616
   48    112      21    0.484  0.0277        0.433        0.542
   60     71      14    0.415  0.0294        0.361        0.477
  120      4      18    0.241  0.0434        0.169        0.343

                TNM_CLIN_T=cX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1506     117    0.931 0.00619        0.919        0.943
   24   1339     101    0.866 0.00844        0.850        0.883
   36   1222      86    0.810 0.00983        0.791        0.830
   48   1122      65    0.766 0.01070        0.746        0.788
   60   1021      52    0.730 0.01131        0.708        0.753
  120    360     140    0.601 0.01395        0.574        0.629




   
## Univariable Cox Proportional Hazard Model for:  TNM_CLIN_T
X matrix deemed to be singular; variable 1 5 6 10 11 13 14 16 17 18 19 21 22
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_T, data = data)

  n= 11676, number of events= 3329 
   (322 observations deleted due to missingness)

                   coef exp(coef) se(coef)       z Pr(>|z|)    
TNM_CLIN_Tc0         NA        NA  0.00000      NA       NA    
TNM_CLIN_Tc1   -1.42616   0.24023  0.09060 -15.741  < 2e-16 ***
TNM_CLIN_Tc1A  -1.59767   0.20237  0.25925  -6.163 7.15e-10 ***
TNM_CLIN_Tc1B  -1.01564   0.36217  0.28961  -3.507 0.000453 ***
TNM_CLIN_Tc1C        NA        NA  0.00000      NA       NA    
TNM_CLIN_Tc1MI       NA        NA  0.00000      NA       NA    
TNM_CLIN_Tc2   -0.43623   0.64647  0.08134  -5.363 8.17e-08 ***
TNM_CLIN_Tc2A  -1.16835   0.31088  0.37869  -3.085 0.002034 ** 
TNM_CLIN_Tc2B  -0.45059   0.63725  0.23060  -1.954 0.050705 .  
TNM_CLIN_Tc2C        NA        NA  0.00000      NA       NA    
TNM_CLIN_Tc2D        NA        NA  0.00000      NA       NA    
TNM_CLIN_Tc3    0.34891   1.41752  0.08236   4.237 2.27e-05 ***
TNM_CLIN_Tc3A        NA        NA  0.00000      NA       NA    
TNM_CLIN_Tc3B        NA        NA  0.00000      NA       NA    
TNM_CLIN_Tc4    0.62965   1.87695  0.07186   8.762  < 2e-16 ***
TNM_CLIN_Tc4A        NA        NA  0.00000      NA       NA    
TNM_CLIN_Tc4B        NA        NA  0.00000      NA       NA    
TNM_CLIN_Tc4C        NA        NA  0.00000      NA       NA    
TNM_CLIN_Tc4D        NA        NA  0.00000      NA       NA    
TNM_CLIN_TcX   -0.28428   0.75256  0.04701  -6.048 1.47e-09 ***
TNM_CLIN_TpA         NA        NA  0.00000      NA       NA    
TNM_CLIN_TpIS        NA        NA  0.00000      NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

               exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_Tc0          NA         NA        NA        NA
TNM_CLIN_Tc1      0.2402     4.1627    0.2011    0.2869
TNM_CLIN_Tc1A     0.2024     4.9415    0.1217    0.3364
TNM_CLIN_Tc1B     0.3622     2.7611    0.2053    0.6389
TNM_CLIN_Tc1C         NA         NA        NA        NA
TNM_CLIN_Tc1MI        NA         NA        NA        NA
TNM_CLIN_Tc2      0.6465     1.5469    0.5512    0.7582
TNM_CLIN_Tc2A     0.3109     3.2167    0.1480    0.6530
TNM_CLIN_Tc2B     0.6372     1.5692    0.4055    1.0014
TNM_CLIN_Tc2C         NA         NA        NA        NA
TNM_CLIN_Tc2D         NA         NA        NA        NA
TNM_CLIN_Tc3      1.4175     0.7055    1.2062    1.6658
TNM_CLIN_Tc3A         NA         NA        NA        NA
TNM_CLIN_Tc3B         NA         NA        NA        NA
TNM_CLIN_Tc4      1.8769     0.5328    1.6304    2.1608
TNM_CLIN_Tc4A         NA         NA        NA        NA
TNM_CLIN_Tc4B         NA         NA        NA        NA
TNM_CLIN_Tc4C         NA         NA        NA        NA
TNM_CLIN_Tc4D         NA         NA        NA        NA
TNM_CLIN_TcX      0.7526     1.3288    0.6863    0.8252
TNM_CLIN_TpA          NA         NA        NA        NA
TNM_CLIN_TpIS         NA         NA        NA        NA

Concordance= 0.619  (se = 0.005 )
Rsquare= 0.052   (max possible= 0.993 )
Likelihood ratio test= 620.7  on 9 df,   p=0
Wald test            = 487.4  on 9 df,   p=0
Score (logrank) test = 560.9  on 9 df,   p=0
Removed 14 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_CLIN_T

Clinical N Stage

uni_var(test_var = "TNM_CLIN_N", data_imp = data)
_________________________________________________
   
## TNM_CLIN_N
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_N, data = data)

   306 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_CLIN_N=N_A 6034   2015     NA  137.69      NA
TNM_CLIN_N=c0  3401    501     NA      NA      NA
TNM_CLIN_N=c1   194     95   48.5   40.44    65.4
TNM_CLIN_N=c1A   10      4     NA   28.32      NA
TNM_CLIN_N=c1B    9      4   43.4   30.49      NA
TNM_CLIN_N=c2    33     19   36.7   33.12      NA
TNM_CLIN_N=c2A    1      0     NA      NA      NA
TNM_CLIN_N=c2B    6      4   30.3    7.52      NA
TNM_CLIN_N=c3    62     29   37.9   23.75      NA
TNM_CLIN_N=cX  1942    660  155.1  140.71      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_N, data = data)

306 observations deleted due to missingness 
                TNM_CLIN_N=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4498     946    0.836 0.00489        0.826        0.845
   24   3699     391    0.760 0.00576        0.749        0.771
   36   3077     205    0.716 0.00621        0.703        0.728
   48   2583     126    0.684 0.00653        0.672        0.697
   60   2167      92    0.658 0.00682        0.645        0.672
  120    547     231    0.552 0.00892        0.535        0.570

                TNM_CLIN_N=c0 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2766      99    0.968 0.00317        0.962        0.974
   24   2275     115    0.925 0.00496        0.915        0.935
   36   1730     103    0.879 0.00647        0.866        0.892
   48   1270      69    0.839 0.00774        0.824        0.855
   60    866      49    0.801 0.00916        0.783        0.819
  120     53      66    0.646 0.02490        0.599        0.697

                TNM_CLIN_N=c1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    138      34    0.815  0.0288        0.760        0.873
   24    105      20    0.692  0.0352        0.626        0.765
   36     79      15    0.591  0.0386        0.519        0.671
   48     50       8    0.519  0.0415        0.443        0.607
   60     30       9    0.414  0.0457        0.333        0.514
  120      2       9    0.222  0.0560        0.136        0.364

                TNM_CLIN_N=c1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      8       1    0.889   0.105        0.706        1.000
   24      7       1    0.778   0.139        0.549        1.000
   36      4       2    0.556   0.166        0.310        0.997
   48      2       0    0.556   0.166        0.310        0.997
   60      1       0    0.556   0.166        0.310        0.997

                TNM_CLIN_N=c1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      5       2    0.762   0.148        0.521            1
   24      4       0    0.762   0.148        0.521            1
   36      2       1    0.571   0.199        0.289            1
   48      1       1    0.286   0.225        0.061            1
   60      1       0    0.286   0.225        0.061            1

                TNM_CLIN_N=c2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     23       5    0.842  0.0651        0.723        0.979
   24     18       4    0.695  0.0855        0.546        0.885
   36     12       3    0.563  0.0980        0.400        0.792
   48      6       4    0.375  0.1006        0.222        0.635
   60      3       1    0.300  0.1048        0.151        0.595

                TNM_CLIN_N=c2A 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                TNM_CLIN_N=c2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      4       2    0.667   0.192        0.379            1
   24      3       1    0.500   0.204        0.225            1
   36      1       0    0.500   0.204        0.225            1
   48      1       0    0.500   0.204        0.225            1

                TNM_CLIN_N=c3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     42      14    0.763  0.0556        0.661        0.880
   24     25       7    0.612  0.0681        0.493        0.762
   36     19       2    0.560  0.0716        0.436        0.720
   48     11       6    0.365  0.0797        0.238        0.560
   60      8       0    0.365  0.0797        0.238        0.560
  120      1       0    0.365  0.0797        0.238        0.560

                TNM_CLIN_N=cX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1630     143    0.923 0.00621        0.911        0.935
   24   1429     118    0.854 0.00838        0.838        0.870
   36   1283      99    0.794 0.00973        0.775        0.813
   48   1152      75    0.746 0.01058        0.726        0.767
   60   1035      53    0.711 0.01114        0.689        0.733
  120    359     142    0.584 0.01365        0.558        0.611




   
## Univariable Cox Proportional Hazard Model for:  TNM_CLIN_N
Loglik converged before variable  6 ; beta may be infinite. X matrix deemed to be singular; variable 8 10 11 12 13
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_N, data = data)

  n= 11692, number of events= 3331 
   (306 observations deleted due to missingness)

                    coef  exp(coef)   se(coef)       z Pr(>|z|)    
TNM_CLIN_Nc0  -7.539e-01  4.705e-01  5.015e-02 -15.033  < 2e-16 ***
TNM_CLIN_Nc1   6.026e-01  1.827e+00  1.052e-01   5.730 1.00e-08 ***
TNM_CLIN_Nc1A  3.008e-01  1.351e+00  5.006e-01   0.601 0.547862    
TNM_CLIN_Nc1B  7.546e-01  2.127e+00  5.006e-01   1.507 0.131712    
TNM_CLIN_Nc2   8.565e-01  2.355e+00  2.306e-01   3.714 0.000204 ***
TNM_CLIN_Nc2A -9.270e+00  9.418e-05  3.251e+02  -0.029 0.977249    
TNM_CLIN_Nc2B  1.176e+00  3.241e+00  5.006e-01   2.349 0.018836 *  
TNM_CLIN_Nc2C         NA         NA  0.000e+00      NA       NA    
TNM_CLIN_Nc3   6.900e-01  1.994e+00  1.871e-01   3.687 0.000227 ***
TNM_CLIN_Nc3A         NA         NA  0.000e+00      NA       NA    
TNM_CLIN_Nc3B         NA         NA  0.000e+00      NA       NA    
TNM_CLIN_Nc3C         NA         NA  0.000e+00      NA       NA    
TNM_CLIN_Nc4          NA         NA  0.000e+00      NA       NA    
TNM_CLIN_NcX  -2.244e-01  7.990e-01  4.502e-02  -4.986 6.17e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef)  lower .95  upper .95
TNM_CLIN_Nc0  4.705e-01  2.125e+00  4.265e-01  5.191e-01
TNM_CLIN_Nc1  1.827e+00  5.474e-01  1.487e+00  2.245e+00
TNM_CLIN_Nc1A 1.351e+00  7.402e-01  5.065e-01  3.603e+00
TNM_CLIN_Nc1B 2.127e+00  4.702e-01  7.973e-01  5.673e+00
TNM_CLIN_Nc2  2.355e+00  4.247e-01  1.498e+00  3.701e+00
TNM_CLIN_Nc2A 9.418e-05  1.062e+04 1.870e-281 4.743e+272
TNM_CLIN_Nc2B 3.241e+00  3.086e-01  1.215e+00  8.646e+00
TNM_CLIN_Nc2C        NA         NA         NA         NA
TNM_CLIN_Nc3  1.994e+00  5.016e-01  1.381e+00  2.877e+00
TNM_CLIN_Nc3A        NA         NA         NA         NA
TNM_CLIN_Nc3B        NA         NA         NA         NA
TNM_CLIN_Nc3C        NA         NA         NA         NA
TNM_CLIN_Nc4         NA         NA         NA         NA
TNM_CLIN_NcX  7.990e-01  1.252e+00  7.315e-01  8.727e-01

Concordance= 0.601  (se = 0.005 )
Rsquare= 0.029   (max possible= 0.993 )
Likelihood ratio test= 348.6  on 9 df,   p=0
Wald test            = 334.1  on 9 df,   p=0
Score (logrank) test = 356.5  on 9 df,   p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 6 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_CLIN_N

Clinical Stage Group

uni_var(test_var = "TNM_CLIN_STAGE_GROUP", data_imp = data)
_________________________________________________
   
## TNM_CLIN_STAGE_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_STAGE_GROUP, data = data)

   7 observations deleted due to missingness 
                            n events median 0.95LCL 0.95UCL
TNM_CLIN_STAGE_GROUP=1   1669    374     NA  158.32      NA
TNM_CLIN_STAGE_GROUP=1A  3925    494     NA      NA      NA
TNM_CLIN_STAGE_GROUP=1B  1385    270     NA  145.12      NA
TNM_CLIN_STAGE_GROUP=2    249    106   94.2   65.22      NA
TNM_CLIN_STAGE_GROUP=2A   304    102     NA   79.57      NA
TNM_CLIN_STAGE_GROUP=2B   563    244   63.4   51.35    86.1
TNM_CLIN_STAGE_GROUP=3    178     98   46.8   35.58    74.1
TNM_CLIN_STAGE_GROUP=3A   318    145   59.8   40.21    72.9
TNM_CLIN_STAGE_GROUP=3B   156     88   30.7   22.67    50.5
TNM_CLIN_STAGE_GROUP=4    559    359   24.3   18.60    27.8
TNM_CLIN_STAGE_GROUP=4A   457    276   30.4   24.15    41.4
TNM_CLIN_STAGE_GROUP=4A1   75     33   45.4   32.39    76.3
TNM_CLIN_STAGE_GROUP=4A2   31     13   40.0   23.75      NA
TNM_CLIN_STAGE_GROUP=4B   287    201   12.0    9.13    19.1
TNM_CLIN_STAGE_GROUP=N_A   31      8     NA      NA      NA
TNM_CLIN_STAGE_GROUP=99  1804    594  155.1  130.04      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_STAGE_GROUP, data = data)

7 observations deleted due to missingness 
                TNM_CLIN_STAGE_GROUP=1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1380     122    0.924 0.00666        0.911        0.937
   24   1212      60    0.882 0.00827        0.866        0.898
   36   1059      45    0.847 0.00940        0.829        0.866
   48    929      33    0.820 0.01025        0.800        0.840
   60    778      37    0.785 0.01131        0.763        0.807
  120    208      70    0.678 0.01591        0.647        0.709

                TNM_CLIN_STAGE_GROUP=1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3295      93    0.974 0.00262        0.969        0.980
   24   2795     101    0.943 0.00400        0.935        0.951
   36   2285      75    0.916 0.00496        0.906        0.926
   48   1822      58    0.890 0.00586        0.879        0.902
   60   1436      44    0.867 0.00667        0.854        0.880
  120    294     109    0.755 0.01250        0.731        0.780

                TNM_CLIN_STAGE_GROUP=1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1131      56    0.956 0.00570        0.945        0.968
   24    961      49    0.912 0.00821        0.896        0.929
   36    759      45    0.866 0.01032        0.846        0.886
   48    584      40    0.815 0.01244        0.791        0.840
   60    465      24    0.779 0.01397        0.752        0.807
  120     85      49    0.629 0.02411        0.583        0.678

                TNM_CLIN_STAGE_GROUP=2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    183      44    0.816  0.0252        0.768        0.866
   24    142      25    0.700  0.0305        0.642        0.762
   36    118      13    0.633  0.0327        0.572        0.700
   48    104       3    0.616  0.0333        0.554        0.685
   60     95       3    0.598  0.0339        0.535        0.668
  120     20      16    0.453  0.0436        0.375        0.547

                TNM_CLIN_STAGE_GROUP=2A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    234      39    0.866  0.0200        0.828        0.906
   24    187      23    0.777  0.0251        0.730        0.828
   36    147      14    0.714  0.0282        0.661        0.772
   48    108      12    0.650  0.0312        0.591        0.714
   60     86       7    0.606  0.0333        0.544        0.674
  120     16       6    0.551  0.0373        0.483        0.629

                TNM_CLIN_STAGE_GROUP=2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    435      80    0.851  0.0154        0.821        0.882
   24    325      65    0.717  0.0201        0.679        0.757
   36    233      39    0.624  0.0223        0.582        0.670
   48    172      26    0.549  0.0240        0.504        0.598
   60    125      11    0.508  0.0252        0.461        0.560
  120     12      23    0.325  0.0398        0.256        0.413

                TNM_CLIN_STAGE_GROUP=3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    129      39    0.772  0.0321        0.712        0.838
   24    104      18    0.662  0.0366        0.594        0.737
   36     83      15    0.564  0.0389        0.493        0.646
   48     68       9    0.500  0.0400        0.427        0.585
   60     51       7    0.444  0.0407        0.371        0.532
  120     10       9    0.320  0.0488        0.237        0.432

                TNM_CLIN_STAGE_GROUP=3A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    226      49    0.831  0.0220        0.789        0.876
   24    177      33    0.705  0.0276        0.653        0.761
   36    131      31    0.575  0.0309        0.518        0.639
   48    108       8    0.538  0.0315        0.480        0.604
   60     77       7    0.499  0.0325        0.439        0.567
  120     12      16    0.373  0.0374        0.307        0.454

                TNM_CLIN_STAGE_GROUP=3B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    106      41    0.729  0.0362        0.661        0.803
   24     75      23    0.563  0.0414        0.487        0.650
   36     56      11    0.477  0.0424        0.401        0.568
   48     45       6    0.425  0.0427        0.349        0.518
   60     30       4    0.383  0.0435        0.306        0.478
  120      5       3    0.335  0.0460        0.256        0.439

                TNM_CLIN_STAGE_GROUP=4 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    320     206    0.621  0.0209        0.581        0.663
   24    243      56    0.508  0.0219        0.467        0.553
   36    185      38    0.427  0.0220        0.386        0.472
   48    154      22    0.375  0.0219        0.334        0.420
   60    139       5    0.362  0.0219        0.322        0.408
  120     35      28    0.258  0.0238        0.215        0.309

                TNM_CLIN_STAGE_GROUP=4A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    296     135    0.697  0.0218        0.655        0.741
   24    207      61    0.547  0.0241        0.502        0.597
   36    156      26    0.474  0.0248        0.428        0.525
   48    119      15    0.426  0.0253        0.379        0.478
   60     95      12    0.381  0.0257        0.334        0.435
  120     21      24    0.242  0.0295        0.191        0.307

                TNM_CLIN_STAGE_GROUP=4A1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     56       8    0.888  0.0373        0.818        0.964
   24     43       7    0.771  0.0525        0.675        0.881
   36     26       9    0.590  0.0665        0.474        0.736
   48     11       4    0.453  0.0805        0.320        0.642
   60      7       3    0.320  0.0862        0.189        0.543

                TNM_CLIN_STAGE_GROUP=4A2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     23       6    0.806  0.0710        0.679        0.958
   24     12       4    0.628  0.0977        0.463        0.852
   36      8       1    0.571  0.1042        0.400        0.817
   48      4       2    0.381  0.1301        0.195        0.744
   60      3       0    0.381  0.1301        0.195        0.744

                TNM_CLIN_STAGE_GROUP=4B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    128     138    0.497  0.0304        0.441        0.561
   24     92      27    0.387  0.0302        0.332        0.451
   36     65      18    0.308  0.0292        0.256        0.371
   48     43       8    0.268  0.0287        0.217        0.330
   60     30       4    0.240  0.0290        0.189        0.304
  120      7       5    0.188  0.0308        0.136        0.259

                TNM_CLIN_STAGE_GROUP=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     22       6    0.800  0.0730        0.669        0.957
   24     19       1    0.762  0.0789        0.622        0.933
   36     14       1    0.714  0.0871        0.562        0.907
   48      9       0    0.714  0.0871        0.562        0.907
   60      5       0    0.714  0.0871        0.562        0.907

                TNM_CLIN_STAGE_GROUP=99 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1372     225    0.867 0.00828        0.851        0.883
   24   1139     118    0.789 0.01020        0.769        0.809
   36    991      58    0.747 0.01104        0.726        0.769
   48    866      48    0.709 0.01175        0.686        0.732
   60    736      40    0.674 0.01241        0.650        0.699
  120    237      92    0.551 0.01596        0.521        0.583




   
## Univariable Cox Proportional Hazard Model for:  TNM_CLIN_STAGE_GROUP
X matrix deemed to be singular; variable 4 8 12 18 20
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_STAGE_GROUP, data = data)

  n= 11991, number of events= 3405 
   (7 observations deleted due to missingness)

                            coef exp(coef) se(coef)       z Pr(>|z|)    
TNM_CLIN_STAGE_GROUP1   -0.47472   0.62206  0.06602  -7.191 6.45e-13 ***
TNM_CLIN_STAGE_GROUP1A  -0.95424   0.38511  0.06098 -15.648  < 2e-16 ***
TNM_CLIN_STAGE_GROUP1B  -0.46913   0.62554  0.07350  -6.383 1.74e-10 ***
TNM_CLIN_STAGE_GROUP1C        NA        NA  0.00000      NA       NA    
TNM_CLIN_STAGE_GROUP2    0.36459   1.43993  0.10547   3.457 0.000546 ***
TNM_CLIN_STAGE_GROUP2A   0.14742   1.15884  0.10725   1.375 0.169266    
TNM_CLIN_STAGE_GROUP2B   0.50067   1.64983  0.07631   6.561 5.34e-11 ***
TNM_CLIN_STAGE_GROUP2C        NA        NA  0.00000      NA       NA    
TNM_CLIN_STAGE_GROUP3    0.68835   1.99043  0.10911   6.309 2.81e-10 ***
TNM_CLIN_STAGE_GROUP3A   0.55357   1.73945  0.09277   5.967 2.42e-09 ***
TNM_CLIN_STAGE_GROUP3B   0.85760   2.35749  0.11440   7.496 6.56e-14 ***
TNM_CLIN_STAGE_GROUP3C        NA        NA  0.00000      NA       NA    
TNM_CLIN_STAGE_GROUP4    1.02945   2.79953  0.06695  15.376  < 2e-16 ***
TNM_CLIN_STAGE_GROUP4A   0.96845   2.63386  0.07309  13.251  < 2e-16 ***
TNM_CLIN_STAGE_GROUP4A1  0.67165   1.95746  0.17917   3.749 0.000178 ***
TNM_CLIN_STAGE_GROUP4A2  0.77113   2.16222  0.28060   2.748 0.005994 ** 
TNM_CLIN_STAGE_GROUP4B   1.43451   4.19758  0.08199  17.495  < 2e-16 ***
TNM_CLIN_STAGE_GROUP4C        NA        NA  0.00000      NA       NA    
TNM_CLIN_STAGE_GROUPN_A  0.09770   1.10263  0.35606   0.274 0.783782    
TNM_CLIN_STAGE_GROUP99        NA        NA  0.00000      NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                        exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_STAGE_GROUP1      0.6221     1.6076    0.5466    0.7080
TNM_CLIN_STAGE_GROUP1A     0.3851     2.5967    0.3417    0.4340
TNM_CLIN_STAGE_GROUP1B     0.6255     1.5986    0.5416    0.7225
TNM_CLIN_STAGE_GROUP1C         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP2      1.4399     0.6945    1.1710    1.7706
TNM_CLIN_STAGE_GROUP2A     1.1588     0.8629    0.9391    1.4299
TNM_CLIN_STAGE_GROUP2B     1.6498     0.6061    1.4206    1.9160
TNM_CLIN_STAGE_GROUP2C         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP3      1.9904     0.5024    1.6072    2.4650
TNM_CLIN_STAGE_GROUP3A     1.7394     0.5749    1.4502    2.0863
TNM_CLIN_STAGE_GROUP3B     2.3575     0.4242    1.8839    2.9500
TNM_CLIN_STAGE_GROUP3C         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUP4      2.7995     0.3572    2.4552    3.1921
TNM_CLIN_STAGE_GROUP4A     2.6339     0.3797    2.2823    3.0395
TNM_CLIN_STAGE_GROUP4A1    1.9575     0.5109    1.3778    2.7810
TNM_CLIN_STAGE_GROUP4A2    2.1622     0.4625    1.2475    3.7476
TNM_CLIN_STAGE_GROUP4B     4.1976     0.2382    3.5744    4.9294
TNM_CLIN_STAGE_GROUP4C         NA         NA        NA        NA
TNM_CLIN_STAGE_GROUPN_A    1.1026     0.9069    0.5487    2.2157
TNM_CLIN_STAGE_GROUP99         NA         NA        NA        NA

Concordance= 0.712  (se = 0.005 )
Rsquare= 0.134   (max possible= 0.993 )
Likelihood ratio test= 1719  on 15 df,   p=0
Wald test            = 1785  on 15 df,   p=0
Score (logrank) test = 2206  on 15 df,   p=0
Removed 6 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_CLIN_STAGE_GROUP
This manual palette can handle a maximum of 10 values. You have supplied 16.

Pathologic T Stage

uni_var(test_var = "TNM_PATH_T", data_imp = data)
_________________________________________________
   
## TNM_PATH_T
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_T, data = data)

   2146 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_PATH_T=N_A 5946   1986     NA   140.2      NA
TNM_PATH_T=p1   786     65     NA      NA      NA
TNM_PATH_T=p1A   89      6     NA      NA      NA
TNM_PATH_T=p1B   41      4     NA      NA      NA
TNM_PATH_T=p2   352     69     NA    90.8      NA
TNM_PATH_T=p2A   19      2     NA      NA      NA
TNM_PATH_T=p2B   33      8   41.1    34.4      NA
TNM_PATH_T=p3   165     59   66.0    53.9      NA
TNM_PATH_T=p4   196     92   46.2    36.7    65.4
TNM_PATH_T=pX  2225    723  158.3   147.5      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_T, data = data)

2146 observations deleted due to missingness 
                TNM_PATH_T=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4445     925    0.837 0.00491        0.827        0.847
   24   3665     386    0.761 0.00579        0.750        0.773
   36   3052     205    0.716 0.00624        0.704        0.729
   48   2568     124    0.685 0.00656        0.673        0.698
   60   2159      91    0.660 0.00685        0.646        0.673
  120    547     231    0.553 0.00895        0.536        0.571

                TNM_PATH_T=p1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    629      15    0.979 0.00544        0.968        0.989
   24    539      13    0.957 0.00790        0.942        0.973
   36    422       9    0.940 0.00966        0.921        0.959
   48    294      13    0.907 0.01302        0.882        0.933
   60    187       8    0.877 0.01628        0.846        0.910
  120      6       7    0.833 0.02367        0.788        0.881

                TNM_PATH_T=p1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     77       1    0.988  0.0121        0.964        1.000
   24     67       1    0.973  0.0186        0.938        1.000
   36     54       3    0.924  0.0330        0.861        0.991
   48     42       1    0.902  0.0386        0.830        0.981
   60     23       0    0.902  0.0386        0.830        0.981

                TNM_PATH_T=p1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     32       0    1.000  0.0000        1.000            1
   24     26       2    0.935  0.0441        0.853            1
   36     23       0    0.935  0.0441        0.853            1
   48     15       0    0.935  0.0441        0.853            1
   60      8       2    0.772  0.1135        0.579            1

                TNM_PATH_T=p2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    286      15    0.954  0.0117        0.931        0.977
   24    248      12    0.911  0.0164        0.880        0.944
   36    198      14    0.856  0.0211        0.815        0.898
   48    128      11    0.798  0.0259        0.749        0.851
   60     82       8    0.737  0.0317        0.678        0.802

                TNM_PATH_T=p2A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     13       0    1.000   0.000        1.000            1
   24     11       0    1.000   0.000        1.000            1
   36      6       2    0.778   0.139        0.549            1
   48      4       0    0.778   0.139        0.549            1
   60      3       0    0.778   0.139        0.549            1

                TNM_PATH_T=p2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     23       1    0.963  0.0363        0.894        1.000
   24     12       2    0.854  0.0802        0.710        1.000
   36      8       3    0.626  0.1274        0.420        0.933
   48      6       2    0.470  0.1353        0.267        0.826
   60      5       0    0.470  0.1353        0.267        0.826

                TNM_PATH_T=p3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    134      14    0.909  0.0231        0.865        0.956
   24     97      18    0.781  0.0343        0.717        0.852
   36     76       8    0.713  0.0390        0.640        0.793
   48     51       9    0.616  0.0451        0.534        0.711
   60     29       6    0.524  0.0519        0.432        0.637
  120      2       4    0.383  0.0790        0.256        0.574

                TNM_PATH_T=p4 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    140      34    0.814  0.0288        0.760        0.873
   24    111      19    0.700  0.0348        0.635        0.771
   36     79      17    0.585  0.0387        0.514        0.666
   48     49      12    0.488  0.0412        0.414        0.576
   60     27       5    0.428  0.0442        0.350        0.524

                TNM_PATH_T=pX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1899     145    0.932 0.00547        0.921        0.943
   24   1700     123    0.870 0.00743        0.855        0.885
   36   1532     109    0.813 0.00871        0.796        0.830
   48   1405      80    0.770 0.00949        0.752        0.789
   60   1282      61    0.736 0.01002        0.717        0.756
  120    407     175    0.602 0.01270        0.577        0.627




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_T
X matrix deemed to be singular; variable 1 5 6 10 11 13 14 16 17 18 19 20 21
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_T, data = data)

  n= 9852, number of events= 3014 
   (2146 observations deleted due to missingness)

                   coef exp(coef) se(coef)       z Pr(>|z|)    
TNM_PATH_Tp0         NA        NA  0.00000      NA       NA    
TNM_PATH_Tp1   -1.31570   0.26829  0.12617 -10.428  < 2e-16 ***
TNM_PATH_Tp1A  -1.57500   0.20701  0.40892  -3.852 0.000117 ***
TNM_PATH_Tp1B  -1.12876   0.32344  0.50054  -2.255 0.024130 *  
TNM_PATH_Tp1C        NA        NA  0.00000      NA       NA    
TNM_PATH_Tp1MI       NA        NA  0.00000      NA       NA    
TNM_PATH_Tp2   -0.46521   0.62800  0.12261  -3.794 0.000148 ***
TNM_PATH_Tp2A  -0.87019   0.41887  0.70751  -1.230 0.218719    
TNM_PATH_Tp2B   0.05749   1.05917  0.35436   0.162 0.871122    
TNM_PATH_Tp2C        NA        NA  0.00000      NA       NA    
TNM_PATH_Tp2D        NA        NA  0.00000      NA       NA    
TNM_PATH_Tp3    0.20257   1.22455  0.13224   1.532 0.125555    
TNM_PATH_Tp3A        NA        NA  0.00000      NA       NA    
TNM_PATH_Tp3B        NA        NA  0.00000      NA       NA    
TNM_PATH_Tp4    0.58832   1.80097  0.10689   5.504 3.71e-08 ***
TNM_PATH_Tp4A        NA        NA  0.00000      NA       NA    
TNM_PATH_Tp4B        NA        NA  0.00000      NA       NA    
TNM_PATH_Tp4C        NA        NA  0.00000      NA       NA    
TNM_PATH_Tp4D        NA        NA  0.00000      NA       NA    
TNM_PATH_TpA         NA        NA  0.00000      NA       NA    
TNM_PATH_TpIS        NA        NA  0.00000      NA       NA    
TNM_PATH_TpX   -0.29111   0.74743  0.04363  -6.672 2.53e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

               exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Tp0          NA         NA        NA        NA
TNM_PATH_Tp1      0.2683     3.7274   0.20951    0.3436
TNM_PATH_Tp1A     0.2070     4.8308   0.09288    0.4614
TNM_PATH_Tp1B     0.3234     3.0918   0.12126    0.8627
TNM_PATH_Tp1C         NA         NA        NA        NA
TNM_PATH_Tp1MI        NA         NA        NA        NA
TNM_PATH_Tp2      0.6280     1.5924   0.49385    0.7986
TNM_PATH_Tp2A     0.4189     2.3874   0.10468    1.6761
TNM_PATH_Tp2B     1.0592     0.9441   0.52886    2.1213
TNM_PATH_Tp2C         NA         NA        NA        NA
TNM_PATH_Tp2D         NA         NA        NA        NA
TNM_PATH_Tp3      1.2245     0.8166   0.94496    1.5869
TNM_PATH_Tp3A         NA         NA        NA        NA
TNM_PATH_Tp3B         NA         NA        NA        NA
TNM_PATH_Tp4      1.8010     0.5553   1.46057    2.2207
TNM_PATH_Tp4A         NA         NA        NA        NA
TNM_PATH_Tp4B         NA         NA        NA        NA
TNM_PATH_Tp4C         NA         NA        NA        NA
TNM_PATH_Tp4D         NA         NA        NA        NA
TNM_PATH_TpA          NA         NA        NA        NA
TNM_PATH_TpIS         NA         NA        NA        NA
TNM_PATH_TpX      0.7474     1.3379   0.68617    0.8142

Concordance= 0.581  (se = 0.005 )
Rsquare= 0.027   (max possible= 0.995 )
Likelihood ratio test= 274.4  on 9 df,   p=0
Wald test            = 218.7  on 9 df,   p=0
Score (logrank) test = 241.3  on 9 df,   p=0
Removed 14 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_T

Pathologic N Stage

uni_var(test_var = "TNM_PATH_N", data_imp = data)
_________________________________________________
   
## TNM_PATH_N
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_N, data = data)

   2062 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_PATH_N=N_A 5944   1986     NA   140.2      NA
TNM_PATH_N=p0   762    106     NA      NA      NA
TNM_PATH_N=p1    45     24   48.7    27.5      NA
TNM_PATH_N=p1A    4      1     NA     9.2      NA
TNM_PATH_N=p1B    4      1   43.4      NA      NA
TNM_PATH_N=p2    17      8   55.0    36.7      NA
TNM_PATH_N=p2B    1      0     NA      NA      NA
TNM_PATH_N=p3    18     12   21.7    10.3      NA
TNM_PATH_N=pX  3141    890  158.3   147.6      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_N, data = data)

2062 observations deleted due to missingness 
                TNM_PATH_N=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4443     925    0.837 0.00492        0.827        0.847
   24   3663     386    0.761 0.00579        0.750        0.773
   36   3051     205    0.716 0.00624        0.704        0.729
   48   2568     124    0.685 0.00657        0.673        0.698
   60   2159      91    0.659 0.00685        0.646        0.673
  120    547     231    0.553 0.00895        0.536        0.571

                TNM_PATH_N=p0 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    608      19    0.972 0.00626        0.960        0.985
   24    523      21    0.937 0.00965        0.918        0.956
   36    404      21    0.895 0.01294        0.870        0.920
   48    299      13    0.861 0.01546        0.831        0.892
   60    209      14    0.815 0.01898        0.778        0.853
  120      8      18    0.691 0.03461        0.626        0.762

                TNM_PATH_N=p1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     28      11    0.738  0.0682        0.616        0.885
   24     24       2    0.683  0.0734        0.553        0.843
   36     19       3    0.598  0.0790        0.461        0.775
   48     13       1    0.565  0.0813        0.426        0.749
   60      7       5    0.342  0.0923        0.202        0.580

                TNM_PATH_N=p1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       1     0.75   0.217        0.426            1
   24      3       0     0.75   0.217        0.426            1
   36      2       0     0.75   0.217        0.426            1
   48      2       0     0.75   0.217        0.426            1
   60      1       0     0.75   0.217        0.426            1

                TNM_PATH_N=p1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1

                TNM_PATH_N=p2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     12       3    0.812  0.0976        0.642        1.000
   24     12       0    0.812  0.0976        0.642        1.000
   36      8       1    0.731  0.1168        0.535        1.000
   48      4       2    0.533  0.1477        0.310        0.918
   60      1       1    0.355  0.1754        0.135        0.935

                TNM_PATH_N=p2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1

                TNM_PATH_N=p3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     12       6    0.667   0.111       0.4809        0.924
   24      7       4    0.432   0.119       0.2516        0.742
   36      5       1    0.370   0.117       0.1993        0.688
   48      2       1    0.247   0.128       0.0897        0.679
   60      2       0    0.247   0.128       0.0897        0.679

                TNM_PATH_N=pX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2638     185    0.938 0.00444        0.929        0.946
   24   2296     169    0.875 0.00622        0.863        0.888
   36   2010     140    0.820 0.00737        0.806        0.835
   48   1710     113    0.772 0.00822        0.756        0.788
   60   1452      71    0.738 0.00879        0.721        0.756
  120    407     182    0.604 0.01202        0.581        0.628




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_N
Loglik converged before variable  13 ; beta may be infinite. X matrix deemed to be singular; variable 2 3 4 5 9 10 12 14 16 17 18 19
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_N, data = data)

  n= 9936, number of events= 3028 
   (2062 observations deleted due to missingness)

                     coef  exp(coef)   se(coef)      z Pr(>|z|)    
TNM_PATH_Np0   -8.118e-01  4.440e-01  9.981e-02 -8.134 4.44e-16 ***
TNM_PATH_Np0I-         NA         NA  0.000e+00     NA       NA    
TNM_PATH_Np0I+         NA         NA  0.000e+00     NA       NA    
TNM_PATH_Np0M-         NA         NA  0.000e+00     NA       NA    
TNM_PATH_Np0M+         NA         NA  0.000e+00     NA       NA    
TNM_PATH_Np1    7.496e-01  2.116e+00  2.055e-01  3.648 0.000264 ***
TNM_PATH_Np1A  -2.738e-01  7.605e-01  1.000e+00 -0.274 0.784308    
TNM_PATH_Np1B   2.864e-01  1.332e+00  1.000e+00  0.286 0.774675    
TNM_PATH_Np1C          NA         NA  0.000e+00     NA       NA    
TNM_PATH_Np1MI         NA         NA  0.000e+00     NA       NA    
TNM_PATH_Np2    5.631e-01  1.756e+00  3.543e-01  1.589 0.112023    
TNM_PATH_Np2A          NA         NA  0.000e+00     NA       NA    
TNM_PATH_Np2B  -1.018e+01  3.777e-05  3.239e+02 -0.031 0.974919    
TNM_PATH_Np2C          NA         NA  0.000e+00     NA       NA    
TNM_PATH_Np3    1.086e+00  2.963e+00  2.897e-01  3.750 0.000177 ***
TNM_PATH_Np3A          NA         NA  0.000e+00     NA       NA    
TNM_PATH_Np3B          NA         NA  0.000e+00     NA       NA    
TNM_PATH_Np3C          NA         NA  0.000e+00     NA       NA    
TNM_PATH_Np4           NA         NA  0.000e+00     NA       NA    
TNM_PATH_NpX   -3.312e-01  7.181e-01  4.038e-02 -8.201 2.22e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

               exp(coef) exp(-coef)  lower .95  upper .95
TNM_PATH_Np0   4.440e-01  2.252e+00  3.651e-01  5.400e-01
TNM_PATH_Np0I-        NA         NA         NA         NA
TNM_PATH_Np0I+        NA         NA         NA         NA
TNM_PATH_Np0M-        NA         NA         NA         NA
TNM_PATH_Np0M+        NA         NA         NA         NA
TNM_PATH_Np1   2.116e+00  4.726e-01  1.415e+00  3.165e+00
TNM_PATH_Np1A  7.605e-01  1.315e+00  1.071e-01  5.402e+00
TNM_PATH_Np1B  1.332e+00  7.510e-01  1.874e-01  9.459e+00
TNM_PATH_Np1C         NA         NA         NA         NA
TNM_PATH_Np1MI        NA         NA         NA         NA
TNM_PATH_Np2   1.756e+00  5.694e-01  8.769e-01  3.517e+00
TNM_PATH_Np2A         NA         NA         NA         NA
TNM_PATH_Np2B  3.777e-05  2.648e+04 7.134e-281 2.000e+271
TNM_PATH_Np2C         NA         NA         NA         NA
TNM_PATH_Np3   2.963e+00  3.375e-01  1.680e+00  5.228e+00
TNM_PATH_Np3A         NA         NA         NA         NA
TNM_PATH_Np3B         NA         NA         NA         NA
TNM_PATH_Np3C         NA         NA         NA         NA
TNM_PATH_Np4          NA         NA         NA         NA
TNM_PATH_NpX   7.181e-01  1.393e+00  6.634e-01  7.772e-01

Concordance= 0.574  (se = 0.005 )
Rsquare= 0.016   (max possible= 0.995 )
Likelihood ratio test= 163.1  on 8 df,   p=0
Wald test            = 158.3  on 8 df,   p=0
Score (logrank) test = 166.6  on 8 df,   p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 13 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_N

Pathologic M Stage

uni_var(test_var = "TNM_PATH_M", data_imp = data)
_________________________________________________
   
## TNM_PATH_M
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_M, data = data)

   3912 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_PATH_M=N_A 5714   1918     NA   140.2      NA
TNM_PATH_M=p1    32     17   37.5    25.1      NA
TNM_PATH_M=pX  2340    755  158.3   147.6      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_M, data = data)

3912 observations deleted due to missingness 
                TNM_PATH_M=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4277     890    0.837 0.00501        0.827        0.847
   24   3548     365    0.762 0.00589        0.751        0.774
   36   2969     202    0.717 0.00636        0.704        0.729
   48   2512     120    0.686 0.00668        0.673        0.699
   60   2120      89    0.660 0.00696        0.647        0.674
  120    547     228    0.554 0.00903        0.537        0.572

                TNM_PATH_M=p1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     21       8    0.739  0.0795        0.598        0.912
   24     16       1    0.695  0.0859        0.546        0.886
   36     10       4    0.508  0.1021        0.343        0.753
   48      6       1    0.457  0.1038        0.293        0.713
   60      4       2    0.305  0.1119        0.148        0.626

                TNM_PATH_M=pX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2000     150    0.933 0.00529        0.923        0.943
   24   1796     126    0.873 0.00717        0.859        0.887
   36   1623     112    0.817 0.00841        0.801        0.834
   48   1492      81    0.776 0.00916        0.758        0.794
   60   1358      70    0.739 0.00973        0.720        0.758
  120    415     186    0.603 0.01244        0.579        0.628




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_M
X matrix deemed to be singular; variable 1 3 4 5
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_M, data = data)

  n= 8086, number of events= 2690 
   (3912 observations deleted due to missingness)

                  coef exp(coef) se(coef)      z Pr(>|z|)    
TNM_PATH_Mp0        NA        NA  0.00000     NA       NA    
TNM_PATH_Mp1   0.78358   2.18929  0.24373  3.215   0.0013 ** 
TNM_PATH_Mp1A       NA        NA  0.00000     NA       NA    
TNM_PATH_Mp1B       NA        NA  0.00000     NA       NA    
TNM_PATH_Mp1C       NA        NA  0.00000     NA       NA    
TNM_PATH_MpX  -0.28915   0.74890  0.04315 -6.702 2.06e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Mp0         NA         NA        NA        NA
TNM_PATH_Mp1     2.1893     0.4568    1.3578     3.530
TNM_PATH_Mp1A        NA         NA        NA        NA
TNM_PATH_Mp1B        NA         NA        NA        NA
TNM_PATH_Mp1C        NA         NA        NA        NA
TNM_PATH_MpX     0.7489     1.3353    0.6882     0.815

Concordance= 0.547  (se = 0.005 )
Rsquare= 0.007   (max possible= 0.996 )
Likelihood ratio test= 56.44  on 2 df,   p=5.542e-13
Wald test            = 57.39  on 2 df,   p=3.444e-13
Score (logrank) test = 58.6  on 2 df,   p=1.88e-13
Removed 5 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_M

Pathologic Stage Group

uni_var(test_var = "TNM_PATH_STAGE_GROUP", data_imp = data)
_________________________________________________
   
## TNM_PATH_STAGE_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_STAGE_GROUP, data = data)

   1361 observations deleted due to missingness 
                            n events median 0.95LCL 0.95UCL
TNM_PATH_STAGE_GROUP=1    660    156     NA      NA      NA
TNM_PATH_STAGE_GROUP=1A  1134    157     NA      NA      NA
TNM_PATH_STAGE_GROUP=1B   336     68     NA      NA      NA
TNM_PATH_STAGE_GROUP=2    102     46  111.4    61.2      NA
TNM_PATH_STAGE_GROUP=2A    89     28  135.5    77.3      NA
TNM_PATH_STAGE_GROUP=2B   155     62   87.3    56.5      NA
TNM_PATH_STAGE_GROUP=3     70     38   50.8    44.0      NA
TNM_PATH_STAGE_GROUP=3A    86     40   63.9    31.6      NA
TNM_PATH_STAGE_GROUP=3B    54     27   55.5    30.2      NA
TNM_PATH_STAGE_GROUP=4    240    155   24.4    16.6    32.5
TNM_PATH_STAGE_GROUP=4A   145     95   25.1    16.5    48.1
TNM_PATH_STAGE_GROUP=4A1    1      0     NA      NA      NA
TNM_PATH_STAGE_GROUP=4B   125     82   20.6    10.2    34.8
TNM_PATH_STAGE_GROUP=N_A   29      8     NA      NA      NA
TNM_PATH_STAGE_GROUP=99  7411   2145  158.3   155.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_STAGE_GROUP, data = data)

1361 observations deleted due to missingness 
                TNM_PATH_STAGE_GROUP=1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    529      57    0.909  0.0115        0.887        0.932
   24    476      23    0.868  0.0138        0.842        0.896
   36    421      19    0.833  0.0155        0.803        0.863
   48    372      15    0.802  0.0168        0.770        0.835
   60    327      10    0.779  0.0178        0.745        0.815
  120     82      29    0.670  0.0250        0.623        0.721

                TNM_PATH_STAGE_GROUP=1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    950      30    0.971 0.00518        0.961        0.981
   24    840      27    0.942 0.00744        0.928        0.957
   36    701      23    0.914 0.00922        0.897        0.933
   48    561      19    0.887 0.01089        0.866        0.909
   60    442      20    0.853 0.01283        0.828        0.879
  120    107      36    0.739 0.02239        0.696        0.784

                TNM_PATH_STAGE_GROUP=1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    274      16    0.949  0.0124        0.925        0.974
   24    240      13    0.902  0.0174        0.868        0.937
   36    204       8    0.869  0.0203        0.830        0.910
   48    160       9    0.827  0.0237        0.781        0.874
   60    132       7    0.788  0.0268        0.737        0.842
  120     20      15    0.601  0.0527        0.506        0.714

                TNM_PATH_STAGE_GROUP=2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     78      17    0.827  0.0382        0.755        0.905
   24     67       7    0.750  0.0444        0.668        0.842
   36     55       9    0.647  0.0498        0.557        0.753
   48     48       2    0.623  0.0509        0.531        0.731
   60     43       2    0.596  0.0521        0.502        0.707
  120     14       6    0.485  0.0612        0.379        0.621

                TNM_PATH_STAGE_GROUP=2A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     69       8    0.903  0.0328        0.841        0.969
   24     55       7    0.808  0.0448        0.725        0.901
   36     42       6    0.716  0.0533        0.619        0.828
   48     33       1    0.696  0.0554        0.596        0.813
   60     26       2    0.651  0.0602        0.543        0.780
  120      4       3    0.536  0.0802        0.399        0.718

                TNM_PATH_STAGE_GROUP=2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    120      23    0.845  0.0297        0.789        0.905
   24     96      12    0.756  0.0360        0.689        0.830
   36     79       9    0.683  0.0401        0.608        0.766
   48     59       6    0.624  0.0432        0.545        0.715
   60     42       5    0.562  0.0470        0.477        0.662
  120      5       7    0.359  0.0715        0.243        0.530

                TNM_PATH_STAGE_GROUP=3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     52      16    0.768  0.0509        0.674        0.874
   24     46       4    0.708  0.0551        0.608        0.824
   36     36       6    0.612  0.0600        0.505        0.741
   48     29       4    0.540  0.0628        0.430        0.678
   60     23       4    0.464  0.0644        0.353        0.609
  120      2       4    0.284  0.0974        0.145        0.557

                TNM_PATH_STAGE_GROUP=3A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     56      17    0.779  0.0477        0.691        0.878
   24     44       7    0.675  0.0551        0.575        0.792
   36     32       8    0.547  0.0606        0.440        0.679
   48     27       1    0.528  0.0614        0.420        0.663
   60     20       1    0.508  0.0623        0.399        0.646
  120      4       5    0.346  0.0752        0.226        0.530

                TNM_PATH_STAGE_GROUP=3B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     39      12    0.767  0.0590        0.660        0.892
   24     33       4    0.688  0.0648        0.572        0.827
   36     25       5    0.579  0.0705        0.456        0.735
   48     20       3    0.508  0.0730        0.383        0.673
   60     13       3    0.412  0.0773        0.286        0.595
  120      2       0    0.412  0.0773        0.286        0.595

                TNM_PATH_STAGE_GROUP=4 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    133      94    0.598  0.0322        0.538        0.665
   24    106      19    0.510  0.0332        0.449        0.579
   36     81      20    0.412  0.0333        0.352        0.483
   48     67       8    0.371  0.0330        0.312        0.442
   60     64       1    0.365  0.0330        0.306        0.436
  120     17      11    0.280  0.0350        0.219        0.358

                TNM_PATH_STAGE_GROUP=4A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     86      52    0.632  0.0407        0.557        0.717
   24     69      15    0.520  0.0425        0.443        0.610
   36     55       8    0.458  0.0427        0.381        0.550
   48     44       5    0.414  0.0429        0.338        0.507
   60     35       5    0.365  0.0431        0.290        0.460
  120      6      10    0.228  0.0457        0.154        0.338

                TNM_PATH_STAGE_GROUP=4A1 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                TNM_PATH_STAGE_GROUP=4B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     62      53    0.559  0.0456        0.477        0.656
   24     47       9    0.473  0.0468        0.390        0.575
   36     33       9    0.378  0.0470        0.297        0.483
   48     21       5    0.318  0.0467        0.238        0.424
   60     15       3    0.269  0.0474        0.190        0.380
  120      3       3    0.188  0.0512        0.110        0.321

                TNM_PATH_STAGE_GROUP=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     20       6    0.786  0.0775        0.648        0.953
   24     18       1    0.744  0.0838        0.597        0.928
   36     13       1    0.695  0.0917        0.536        0.900
   48      8       0    0.695  0.0917        0.536        0.900
   60      4       0    0.695  0.0917        0.536        0.900

                TNM_PATH_STAGE_GROUP=99 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   5834     760    0.892 0.00372        0.884        0.899
   24   4818     446    0.820 0.00472        0.811        0.829
   36   4011     270    0.772 0.00528        0.761        0.782
   48   3366     187    0.734 0.00571        0.722        0.745
   60   2779     133    0.702 0.00608        0.691        0.714
  120    696     307    0.584 0.00835        0.568        0.601




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_STAGE_GROUP
Loglik converged before variable  15 ; beta may be infinite. X matrix deemed to be singular; variable 4 8 12 17 19
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_STAGE_GROUP, data = data)

  n= 10637, number of events= 3107 
   (1361 observations deleted due to missingness)

                              coef  exp(coef)   se(coef)      z Pr(>|z|)    
TNM_PATH_STAGE_GROUP1   -3.211e-01  7.254e-01  8.295e-02 -3.871 0.000109 ***
TNM_PATH_STAGE_GROUP1A  -7.926e-01  4.527e-01  8.269e-02 -9.586  < 2e-16 ***
TNM_PATH_STAGE_GROUP1B  -3.830e-01  6.818e-01  1.232e-01 -3.109 0.001876 ** 
TNM_PATH_STAGE_GROUP1C          NA         NA  0.000e+00     NA       NA    
TNM_PATH_STAGE_GROUP2    4.301e-01  1.537e+00  1.490e-01  2.886 0.003896 ** 
TNM_PATH_STAGE_GROUP2A   1.938e-01  1.214e+00  1.902e-01  1.019 0.308352    
TNM_PATH_STAGE_GROUP2B   4.317e-01  1.540e+00  1.289e-01  3.350 0.000807 ***
TNM_PATH_STAGE_GROUP2C          NA         NA  0.000e+00     NA       NA    
TNM_PATH_STAGE_GROUP3    7.190e-01  2.052e+00  1.637e-01  4.393 1.12e-05 ***
TNM_PATH_STAGE_GROUP3A   7.082e-01  2.030e+00  1.596e-01  4.437 9.14e-06 ***
TNM_PATH_STAGE_GROUP3B   6.978e-01  2.009e+00  1.937e-01  3.602 0.000316 ***
TNM_PATH_STAGE_GROUP3C          NA         NA  0.000e+00     NA       NA    
TNM_PATH_STAGE_GROUP4    1.123e+00  3.074e+00  8.322e-02 13.494  < 2e-16 ***
TNM_PATH_STAGE_GROUP4A   1.117e+00  3.056e+00  1.049e-01 10.647  < 2e-16 ***
TNM_PATH_STAGE_GROUP4A1 -9.281e+00  9.318e-05  3.075e+02 -0.030 0.975918    
TNM_PATH_STAGE_GROUP4B   1.357e+00  3.886e+00  1.127e-01 12.043  < 2e-16 ***
TNM_PATH_STAGE_GROUP4C          NA         NA  0.000e+00     NA       NA    
TNM_PATH_STAGE_GROUPN_A  2.682e-01  1.308e+00  3.543e-01  0.757 0.449133    
TNM_PATH_STAGE_GROUP99          NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                        exp(coef) exp(-coef)  lower .95  upper .95
TNM_PATH_STAGE_GROUP1   7.254e-01  1.379e+00  6.165e-01  8.534e-01
TNM_PATH_STAGE_GROUP1A  4.527e-01  2.209e+00  3.849e-01  5.323e-01
TNM_PATH_STAGE_GROUP1B  6.818e-01  1.467e+00  5.356e-01  8.680e-01
TNM_PATH_STAGE_GROUP1C         NA         NA         NA         NA
TNM_PATH_STAGE_GROUP2   1.537e+00  6.504e-01  1.148e+00  2.059e+00
TNM_PATH_STAGE_GROUP2A  1.214e+00  8.238e-01  8.360e-01  1.762e+00
TNM_PATH_STAGE_GROUP2B  1.540e+00  6.494e-01  1.196e+00  1.982e+00
TNM_PATH_STAGE_GROUP2C         NA         NA         NA         NA
TNM_PATH_STAGE_GROUP3   2.052e+00  4.872e-01  1.489e+00  2.829e+00
TNM_PATH_STAGE_GROUP3A  2.030e+00  4.925e-01  1.485e+00  2.776e+00
TNM_PATH_STAGE_GROUP3B  2.009e+00  4.977e-01  1.375e+00  2.937e+00
TNM_PATH_STAGE_GROUP3C         NA         NA         NA         NA
TNM_PATH_STAGE_GROUP4   3.074e+00  3.253e-01  2.611e+00  3.618e+00
TNM_PATH_STAGE_GROUP4A  3.056e+00  3.273e-01  2.488e+00  3.753e+00
TNM_PATH_STAGE_GROUP4A1 9.318e-05  1.073e+04 1.825e-266 4.756e+257
TNM_PATH_STAGE_GROUP4B  3.886e+00  2.574e-01  3.116e+00  4.846e+00
TNM_PATH_STAGE_GROUP4C         NA         NA         NA         NA
TNM_PATH_STAGE_GROUPN_A 1.308e+00  7.648e-01  6.529e-01  2.618e+00
TNM_PATH_STAGE_GROUP99         NA         NA         NA         NA

Concordance= 0.598  (se = 0.004 )
Rsquare= 0.05   (max possible= 0.994 )
Likelihood ratio test= 543.8  on 14 df,   p=0
Wald test            = 628.6  on 14 df,   p=0
Score (logrank) test = 716.2  on 14 df,   p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 6 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_STAGE_GROUP
This manual palette can handle a maximum of 10 values. You have supplied 15.

Margins

uni_var(test_var = "MARGINS", data_imp = data)
_________________________________________________
   
## MARGINS
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ MARGINS, data = data)

                             n events median 0.95LCL 0.95UCL
MARGINS=No Residual        818    128     NA      NA      NA
MARGINS=Residual, NOS      176     34     NA   109.7      NA
MARGINS=Microscopic Resid   68     16     NA   131.7      NA
MARGINS=Macroscopic Resid   71     15     NA    86.4      NA
MARGINS=Not evaluable      452     99     NA      NA      NA
MARGINS=No surg           9123   2725    150   137.7      NA
MARGINS=Unknown           1290    389     NA   147.6      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ MARGINS, data = data)

                MARGINS=No Residual 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    702      30    0.961 0.00692        0.948        0.975
   24    608      25    0.925 0.00972        0.906        0.945
   36    523      16    0.900 0.01133        0.878        0.923
   48    444      17    0.869 0.01322        0.843        0.895
   60    370      10    0.848 0.01449        0.820        0.877
  120     90      27    0.753 0.02220        0.711        0.798

                MARGINS=Residual, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    147      11    0.934  0.0192        0.897        0.973
   24    121       5    0.901  0.0237        0.855        0.948
   36     99       6    0.854  0.0291        0.799        0.913
   48     86       3    0.827  0.0322        0.766        0.892
   60     72       1    0.816  0.0334        0.753        0.884
  120     11       8    0.616  0.0730        0.489        0.777

                MARGINS=Microscopic Resid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     61       2    0.969  0.0217        0.927        1.000
   24     51       3    0.919  0.0350        0.853        0.990
   36     42       3    0.860  0.0463        0.774        0.956
   48     38       1    0.838  0.0501        0.745        0.942
   60     33       1    0.816  0.0534        0.718        0.928
  120     15       5    0.682  0.0713        0.556        0.837

                MARGINS=Macroscopic Resid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     54       6    0.907  0.0364        0.838        0.981
   24     48       2    0.871  0.0428        0.791        0.959
   36     35       2    0.828  0.0505        0.734        0.933
   48     29       1    0.802  0.0549        0.702        0.918
   60     25       1    0.775  0.0595        0.666        0.901
  120      4       3    0.635  0.0900        0.481        0.839

                MARGINS=Not evaluable 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    374      32    0.925  0.0128        0.900        0.950
   24    316      23    0.865  0.0170        0.833        0.899
   36    266       9    0.839  0.0186        0.803        0.876
   48    222      14    0.793  0.0213        0.752        0.836
   60    173       6    0.769  0.0228        0.726        0.815
  120     37      13    0.695  0.0289        0.640        0.754

                MARGINS=No surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   7041    1028    0.881 0.00350        0.874        0.888
   24   5800     529    0.811 0.00434        0.803        0.820
   36   4710     362    0.757 0.00489        0.748        0.767
   48   3796     236    0.716 0.00531        0.706        0.727
   60   3068     166    0.682 0.00567        0.671        0.694
  120    705     362    0.553 0.00810        0.537        0.569

                MARGINS=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    963     178    0.854  0.0101        0.834        0.874
   24    795      84    0.776  0.0123        0.752        0.800
   36    646      42    0.733  0.0133        0.707        0.759
   48    536      22    0.706  0.0140        0.680        0.734
   60    421      23    0.674  0.0149        0.645        0.703
  120    100      34    0.590  0.0197        0.552        0.629




   
## Univariable Cox Proportional Hazard Model for:  MARGINS

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ MARGINS, data = data)

  n= 11998, number of events= 3406 

                            coef exp(coef) se(coef)     z Pr(>|z|)    
MARGINSResidual, NOS     0.29617   1.34470  0.19295 1.535  0.12479    
MARGINSMicroscopic Resid 0.33614   1.39953  0.26518 1.268  0.20495    
MARGINSMacroscopic Resid 0.46871   1.59794  0.27293 1.717  0.08592 .  
MARGINSNot evaluable     0.42175   1.52463  0.13385 3.151  0.00163 ** 
MARGINSNo surg           0.81012   2.24817  0.09046 8.956  < 2e-16 ***
MARGINSUnknown           0.84437   2.32650  0.10192 8.285  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                         exp(coef) exp(-coef) lower .95 upper .95
MARGINSResidual, NOS         1.345     0.7437    0.9213     1.963
MARGINSMicroscopic Resid     1.400     0.7145    0.8323     2.353
MARGINSMacroscopic Resid     1.598     0.6258    0.9359     2.728
MARGINSNot evaluable         1.525     0.6559    1.1728     1.982
MARGINSNo surg               2.248     0.4448    1.8829     2.684
MARGINSUnknown               2.327     0.4298    1.9053     2.841

Concordance= 0.539  (se = 0.004 )
Rsquare= 0.011   (max possible= 0.993 )
Likelihood ratio test= 131.3  on 6 df,   p=0
Wald test            = 106.2  on 6 df,   p=0
Score (logrank) test = 111.1  on 6 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  MARGINS

Margins Yes/No

#uni_var(test_var = "MARGINS_YN", data_imp = data)

30 Day Readmission

uni_var(test_var = "READM_HOSP_30_DAYS_F", data_imp = data)
_________________________________________________
   
## READM_HOSP_30_DAYS_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ READM_HOSP_30_DAYS_F, data = data)

                                               n events median 0.95LCL 0.95UCL
READM_HOSP_30_DAYS_F=No_Surg_or_No_Readmit 11615   3270     NA   155.1      NA
READM_HOSP_30_DAYS_F=Unplan_Readmit_Same      50     23     31    21.6      NA
READM_HOSP_30_DAYS_F=Plan_Readmit_Same        68     27     78    48.9      NA
READM_HOSP_30_DAYS_F=PlanUnplan_Same           2      0     NA      NA      NA
READM_HOSP_30_DAYS_F=9                       263     86     NA   124.9      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ READM_HOSP_30_DAYS_F, data = data)

                READM_HOSP_30_DAYS_F=No_Surg_or_No_Readmit 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   9049    1233    0.888 0.00302        0.882        0.894
   24   7495     643    0.821 0.00376        0.814        0.829
   36   6117     422    0.772 0.00423        0.764        0.781
   48   4974     286    0.733 0.00460        0.725        0.743
   60   4024     194    0.702 0.00492        0.693        0.712
  120    919     440    0.579 0.00707        0.566        0.593

                READM_HOSP_30_DAYS_F=Unplan_Readmit_Same 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     30      17    0.647  0.0692        0.525        0.798
   24     23       2    0.603  0.0711        0.479        0.760
   36     16       4    0.497  0.0759        0.368        0.670
   48     12       0    0.497  0.0759        0.368        0.670
   60      7       0    0.497  0.0759        0.368        0.670
  120      2       0    0.497  0.0759        0.368        0.670

                READM_HOSP_30_DAYS_F=Plan_Readmit_Same 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     54       8    0.877  0.0408        0.801        0.961
   24     44       8    0.747  0.0549        0.647        0.863
   36     38       3    0.695  0.0588        0.589        0.820
   48     29       3    0.636  0.0629        0.523        0.772
   60     18       3    0.558  0.0696        0.437        0.712
  120      4       2    0.472  0.0812        0.337        0.661

                READM_HOSP_30_DAYS_F=PlanUnplan_Same 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      2       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1

                READM_HOSP_30_DAYS_F=9 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    207      29    0.881  0.0208        0.841        0.922
   24    175      18    0.801  0.0261        0.751        0.854
   36    149      11    0.747  0.0289        0.692        0.806
   48    135       5    0.721  0.0301        0.665        0.783
   60    113      11    0.661  0.0326        0.601        0.729
  120     37      10    0.574  0.0398        0.501        0.658




   
## Univariable Cox Proportional Hazard Model for:  READM_HOSP_30_DAYS_F
Loglik converged before variable  3 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ READM_HOSP_30_DAYS_F, data = data)

  n= 11998, number of events= 3406 

                                              coef  exp(coef)   se(coef)      z Pr(>|z|)    
READM_HOSP_30_DAYS_FUnplan_Readmit_Same  8.349e-01  2.305e+00  2.093e-01  3.989 6.62e-05 ***
READM_HOSP_30_DAYS_FPlan_Readmit_Same    3.680e-01  1.445e+00  1.933e-01  1.904   0.0569 .  
READM_HOSP_30_DAYS_FPlanUnplan_Same     -1.100e+01  1.673e-05  3.171e+02 -0.035   0.9723    
READM_HOSP_30_DAYS_F9                    4.463e-02  1.046e+00  1.093e-01  0.408   0.6830    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                        exp(coef) exp(-coef)  lower .95  upper .95
READM_HOSP_30_DAYS_FUnplan_Readmit_Same 2.305e+00  4.339e-01  1.529e+00  3.473e+00
READM_HOSP_30_DAYS_FPlan_Readmit_Same   1.445e+00  6.921e-01  9.893e-01  2.110e+00
READM_HOSP_30_DAYS_FPlanUnplan_Same     1.673e-05  5.977e+04 2.074e-275 1.350e+265
READM_HOSP_30_DAYS_F9                   1.046e+00  9.564e-01  8.440e-01  1.295e+00

Concordance= 0.505  (se = 0.002 )
Rsquare= 0.001   (max possible= 0.993 )
Likelihood ratio test= 16.79  on 4 df,   p=0.002122
Wald test            = 19.54  on 4 df,   p=0.0006162
Score (logrank) test = 21.11  on 4 df,   p=0.0003006
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  READM_HOSP_30_DAYS_F

Radiation Type

uni_var(test_var = "RX_SUMM_RADIATION_F", data_imp = data)
_________________________________________________
   
## RX_SUMM_RADIATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_SUMM_RADIATION_F, data = data)

                                              n events median 0.95LCL 0.95UCL
RX_SUMM_RADIATION_F=None                   8786   2395     NA   158.3      NA
RX_SUMM_RADIATION_F=Beam Radiation         3058    970  155.1   137.7      NA
RX_SUMM_RADIATION_F=Radioactive Implants     26      5     NA    58.2      NA
RX_SUMM_RADIATION_F=Radioisotopes             1      1   90.8      NA      NA
RX_SUMM_RADIATION_F=Beam + Imp or Isotopes    1      0     NA      NA      NA
RX_SUMM_RADIATION_F=Radiation, NOS           55     17  113.5    89.4      NA
RX_SUMM_RADIATION_F=Unknown                  71     18     NA   126.8      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_SUMM_RADIATION_F, data = data)

                RX_SUMM_RADIATION_F=None 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   6709     951    0.885 0.00352        0.878        0.892
   24   5585     433    0.825 0.00430        0.817        0.833
   36   4552     304    0.777 0.00485        0.768        0.787
   48   3701     209    0.739 0.00529        0.728        0.749
   60   2947     153    0.705 0.00570        0.694        0.717
  120    674     309    0.584 0.00833        0.568        0.600

                RX_SUMM_RADIATION_F=Beam Radiation 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2507     326    0.890 0.00576        0.879        0.901
   24   2040     231    0.804 0.00749        0.789        0.819
   36   1673     131    0.749 0.00837        0.733        0.766
   48   1378      80    0.711 0.00897        0.693        0.729
   60   1165      51    0.683 0.00943        0.665        0.702
  120    277     135    0.565 0.01260        0.541        0.590

                RX_SUMM_RADIATION_F=Radioactive Implants 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     23       1    0.958  0.0408        0.882        1.000
   24     19       2    0.867  0.0716        0.737        1.000
   36     15       1    0.819  0.0823        0.673        0.997
   48     12       0    0.819  0.0823        0.673        0.997
   60      3       1    0.682  0.1422        0.454        1.000
  120      1       0    0.682  0.1422        0.454        1.000

                RX_SUMM_RADIATION_F=Radioisotopes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1
   60      1       0        1       0            1            1

                RX_SUMM_RADIATION_F=Beam + Imp or Isotopes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1
   60      1       0        1       0            1            1

                RX_SUMM_RADIATION_F=Radiation, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     46       4    0.922  0.0376        0.851        0.999
   24     44       1    0.901  0.0420        0.823        0.987
   36     36       2    0.856  0.0507        0.762        0.961
   48     24       4    0.749  0.0668        0.629        0.892
   60     21       1    0.717  0.0714        0.590        0.871
  120      4       4    0.440  0.1295        0.247        0.783

                RX_SUMM_RADIATION_F=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     55       5    0.919  0.0348        0.853        0.990
   24     49       4    0.851  0.0460        0.765        0.946
   36     43       2    0.814  0.0508        0.720        0.920
   48     34       1    0.794  0.0534        0.696        0.906
   60     24       2    0.741  0.0617        0.629        0.872
  120      6       3    0.636  0.0770        0.502        0.807




   
## Univariable Cox Proportional Hazard Model for:  RX_SUMM_RADIATION_F
Loglik converged before variable  4 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_SUMM_RADIATION_F, data = data)

  n= 11998, number of events= 3406 

                                                coef  exp(coef)   se(coef)      z Pr(>|z|)  
RX_SUMM_RADIATION_FBeam Radiation          7.828e-02  1.081e+00  3.806e-02  2.056   0.0397 *
RX_SUMM_RADIATION_FRadioactive Implants   -3.253e-01  7.223e-01  4.477e-01 -0.727   0.4675  
RX_SUMM_RADIATION_FRadioisotopes           8.073e-01  2.242e+00  1.000e+00  0.807   0.4196  
RX_SUMM_RADIATION_FBeam + Imp or Isotopes -1.098e+01  1.703e-05  3.579e+02 -0.031   0.9755  
RX_SUMM_RADIATION_FRadiation, NOS         -8.301e-03  9.917e-01  2.434e-01 -0.034   0.9728  
RX_SUMM_RADIATION_FUnknown                -1.099e-01  8.959e-01  2.366e-01 -0.465   0.6423  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                          exp(coef) exp(-coef)  lower .95  upper .95
RX_SUMM_RADIATION_FBeam Radiation         1.081e+00  9.247e-01  1.004e+00  1.165e+00
RX_SUMM_RADIATION_FRadioactive Implants   7.223e-01  1.384e+00  3.004e-01  1.737e+00
RX_SUMM_RADIATION_FRadioisotopes          2.242e+00  4.461e-01  3.156e-01  1.592e+01
RX_SUMM_RADIATION_FBeam + Imp or Isotopes 1.703e-05  5.871e+04 4.205e-310 6.899e+299
RX_SUMM_RADIATION_FRadiation, NOS         9.917e-01  1.008e+00  6.155e-01  1.598e+00
RX_SUMM_RADIATION_FUnknown                8.959e-01  1.116e+00  5.635e-01  1.424e+00

Concordance= 0.507  (se = 0.004 )
Rsquare= 0.001   (max possible= 0.993 )
Likelihood ratio test= 6.62  on 6 df,   p=0.3579
Wald test            = 5.78  on 6 df,   p=0.4486
Score (logrank) test = 6.29  on 6 df,   p=0.3917
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RX_SUMM_RADIATION_F

Lymphovascular Invasion

#uni_var(test_var = "LYMPH_VASCULAR_INVASION_F", data_imp = data)

Endoscopic/Robotic

uni_var(test_var = "RX_HOSP_SURG_APPR_2010_F", data_imp = data)
_________________________________________________
   
## RX_HOSP_SURG_APPR_2010_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)

   5389 observations deleted due to missingness 
                                             n events median 0.95LCL 0.95UCL
RX_HOSP_SURG_APPR_2010_F=No_Surg          5425   1182     NA    91.7      NA
RX_HOSP_SURG_APPR_2010_F=Robot_Assist        1      0     NA      NA      NA
RX_HOSP_SURG_APPR_2010_F=Endo_Lap           58     17   80.1      NA      NA
RX_HOSP_SURG_APPR_2010_F=Endo_Lap_to_Open    2      1   41.9      NA      NA
RX_HOSP_SURG_APPR_2010_F=Open_Unknown      831    134   93.9    93.9      NA
RX_HOSP_SURG_APPR_2010_F=Unknown           292    129   40.4    25.0      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)

5389 observations deleted due to missingness 
                RX_HOSP_SURG_APPR_2010_F=No_Surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4114     508    0.900 0.00424        0.891        0.908
   24   3215     260    0.838 0.00540        0.828        0.849
   36   2319     179    0.786 0.00632        0.774        0.799
   48   1537     113    0.741 0.00725        0.727        0.756
   60    933      70    0.699 0.00845        0.683        0.716

                RX_HOSP_SURG_APPR_2010_F=Robot_Assist 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                RX_HOSP_SURG_APPR_2010_F=Endo_Lap 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     40      10    0.819  0.0519        0.724        0.928
   24     28       3    0.749  0.0613        0.638        0.879
   36     21       0    0.749  0.0613        0.638        0.879
   48     13       3    0.640  0.0783        0.504        0.814
   60      8       0    0.640  0.0783        0.504        0.814

                RX_HOSP_SURG_APPR_2010_F=Endo_Lap_to_Open 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1

                RX_HOSP_SURG_APPR_2010_F=Open_Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    652      62    0.919 0.00983        0.900        0.939
   24    524      29    0.875 0.01235        0.851        0.900
   36    383      15    0.846 0.01401        0.819        0.874
   48    283      11    0.819 0.01577        0.789        0.851
   60    184       7    0.795 0.01788        0.760        0.830

                RX_HOSP_SURG_APPR_2010_F=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    185      70    0.742  0.0267        0.692        0.796
   24    128      35    0.595  0.0309        0.537        0.659
   36     87      17    0.514  0.0324        0.454        0.581
   48     65       4    0.489  0.0332        0.428        0.558
   60     41       2    0.471  0.0343        0.408        0.543




   
## Univariable Cox Proportional Hazard Model for:  RX_HOSP_SURG_APPR_2010_F
Loglik converged before variable  1 ; beta may be infinite. X matrix deemed to be singular; variable 2
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)

  n= 6609, number of events= 1463 
   (5389 observations deleted due to missingness)

                                               coef  exp(coef)   se(coef)      z Pr(>|z|)    
RX_HOSP_SURG_APPR_2010_FRobot_Assist     -1.006e+01  4.273e-05  5.933e+02 -0.017   0.9865    
RX_HOSP_SURG_APPR_2010_FRobot_to_Open            NA         NA  0.000e+00     NA       NA    
RX_HOSP_SURG_APPR_2010_FEndo_Lap          4.220e-01  1.525e+00  2.443e-01  1.728   0.0841 .  
RX_HOSP_SURG_APPR_2010_FEndo_Lap_to_Open  9.277e-01  2.529e+00  1.000e+00  0.927   0.3538    
RX_HOSP_SURG_APPR_2010_FOpen_Unknown     -3.697e-01  6.909e-01  9.120e-02 -4.054 5.04e-05 ***
RX_HOSP_SURG_APPR_2010_FUnknown           8.949e-01  2.447e+00  9.278e-02  9.645  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                         exp(coef) exp(-coef) lower .95 upper .95
RX_HOSP_SURG_APPR_2010_FRobot_Assist     4.273e-05  2.340e+04    0.0000       Inf
RX_HOSP_SURG_APPR_2010_FRobot_to_Open           NA         NA        NA        NA
RX_HOSP_SURG_APPR_2010_FEndo_Lap         1.525e+00  6.557e-01    0.9448    2.4617
RX_HOSP_SURG_APPR_2010_FEndo_Lap_to_Open 2.529e+00  3.954e-01    0.3559   17.9693
RX_HOSP_SURG_APPR_2010_FOpen_Unknown     6.909e-01  1.447e+00    0.5779    0.8262
RX_HOSP_SURG_APPR_2010_FUnknown          2.447e+00  4.087e-01    2.0401    2.9350

Concordance= 0.549  (se = 0.005 )
Rsquare= 0.015   (max possible= 0.974 )
Likelihood ratio test= 102  on 5 df,   p=0
Wald test            = 121.5  on 5 df,   p=0
Score (logrank) test = 130.3  on 5 df,   p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 2 rows containing missing values (geom_errorbar).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RX_HOSP_SURG_APPR_2010_F

Surgery Radiation Sequence

uni_var(test_var = "SURG_RAD_SEQ", data_imp = data)
_________________________________________________
   
## SURG_RAD_SEQ
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ, data = data)

                                          n events median 0.95LCL 0.95UCL
SURG_RAD_SEQ=Surg Alone                1774    382     NA      NA      NA
SURG_RAD_SEQ=Surg then Rad              741    156     NA      NA      NA
SURG_RAD_SEQ=Rad Alone                 2325    812  130.6   108.2      NA
SURG_RAD_SEQ=No Treatment              6918   1959  158.3   144.3      NA
SURG_RAD_SEQ=Other                      226     91   91.7    57.1      NA
SURG_RAD_SEQ=Rad before and after Surg    3      2  134.3    36.2      NA
SURG_RAD_SEQ=Rad then Surg               11      4   60.8    25.9      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ, data = data)

                SURG_RAD_SEQ=Surg Alone 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1406     146    0.913 0.00692        0.899        0.926
   24   1196      66    0.868 0.00852        0.851        0.884
   36   1005      35    0.841 0.00940        0.822        0.859
   48    843      44    0.802 0.01064        0.781        0.823
   60    673      26    0.775 0.01153        0.752        0.798
  120    143      59    0.669 0.01721        0.636        0.703

                SURG_RAD_SEQ=Surg then Rad 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    652      40    0.944 0.00859        0.927        0.961
   24    561      40    0.884 0.01227        0.860        0.908
   36    474      23    0.845 0.01413        0.818        0.873
   48    409       9    0.828 0.01492        0.799        0.858
   60    353      12    0.803 0.01615        0.772        0.835
  120    100      27    0.715 0.02197        0.673        0.759

                SURG_RAD_SEQ=Rad Alone 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1868     279    0.876 0.00697        0.862        0.890
   24   1498     187    0.784 0.00893        0.766        0.801
   36   1220     109    0.723 0.00994        0.704        0.743
   48    981      74    0.676 0.01070        0.656        0.697
   60    818      41    0.646 0.01121        0.625        0.668
  120    174     111    0.511 0.01528        0.482        0.542

                SURG_RAD_SEQ=No Treatment 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   5260     769    0.882 0.00401        0.874        0.890
   24   4353     362    0.818 0.00493        0.808        0.828
   36   3514     266    0.765 0.00559        0.754        0.776
   48   2827     163    0.726 0.00607        0.715        0.738
   60   2252     123    0.692 0.00653        0.679        0.705
  120    521     246    0.567 0.00951        0.548        0.586

                SURG_RAD_SEQ=Other 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    143      53    0.742  0.0306        0.684        0.804
   24    120      15    0.662  0.0336        0.600        0.731
   36    102       5    0.632  0.0346        0.568        0.704
   48     87       3    0.612  0.0354        0.547        0.686
   60     63       6    0.567  0.0373        0.499        0.645
  120     22       8    0.469  0.0452        0.388        0.567

                SURG_RAD_SEQ=Rad before and after Surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       0    1.000   0.000          1.0            1
   24      3       0    1.000   0.000          1.0            1
   36      3       0    1.000   0.000          1.0            1
   48      2       1    0.667   0.272          0.3            1
   60      2       0    0.667   0.272          0.3            1
  120      2       0    0.667   0.272          0.3            1

                SURG_RAD_SEQ=Rad then Surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     10       0    1.000  0.0000        1.000            1
   24      8       1    0.900  0.0949        0.732            1
   36      3       2    0.675  0.1551        0.430            1
   48      2       0    0.675  0.1551        0.430            1
   60      1       0    0.675  0.1551        0.430            1




   
## Univariable Cox Proportional Hazard Model for:  SURG_RAD_SEQ

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ, data = data)

  n= 11998, number of events= 3406 

                                          coef exp(coef) se(coef)      z Pr(>|z|)    
SURG_RAD_SEQSurg then Rad             -0.16432   0.84847  0.09504 -1.729   0.0838 .  
SURG_RAD_SEQRad Alone                  0.51002   1.66533  0.06205  8.220 2.22e-16 ***
SURG_RAD_SEQNo Treatment               0.34684   1.41459  0.05594  6.200 5.63e-10 ***
SURG_RAD_SEQOther                      0.81694   2.26356  0.11666  7.003 2.51e-12 ***
SURG_RAD_SEQRad before and after Surg  0.66183   1.93834  0.70903  0.933   0.3506    
SURG_RAD_SEQRad then Surg              0.79106   2.20573  0.50271  1.574   0.1156    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                      exp(coef) exp(-coef) lower .95 upper .95
SURG_RAD_SEQSurg then Rad                0.8485     1.1786    0.7043     1.022
SURG_RAD_SEQRad Alone                    1.6653     0.6005    1.4746     1.881
SURG_RAD_SEQNo Treatment                 1.4146     0.7069    1.2677     1.579
SURG_RAD_SEQOther                        2.2636     0.4418    1.8009     2.845
SURG_RAD_SEQRad before and after Surg    1.9383     0.5159    0.4829     7.780
SURG_RAD_SEQRad then Surg                2.2057     0.4534    0.8235     5.908

Concordance= 0.549  (se = 0.005 )
Rsquare= 0.011   (max possible= 0.993 )
Likelihood ratio test= 135.9  on 6 df,   p=0
Wald test            = 129  on 6 df,   p=0
Score (logrank) test = 132  on 6 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SURG_RAD_SEQ

Surgery Yes/No

uni_var(test_var = "SURGERY_YN", data_imp = data)
_________________________________________________
   
## SURGERY_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURGERY_YN, data = data)

                  n events median 0.95LCL 0.95UCL
SURGERY_YN=No  9315   2800  150.1   135.7      NA
SURGERY_YN=Ukn  132     59   76.5    49.8      NA
SURGERY_YN=Yes 2551    547     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURGERY_YN, data = data)

                SURGERY_YN=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   7166    1071    0.878 0.00349        0.872        0.885
   24   5880     554    0.807 0.00433        0.799        0.816
   36   4754     375    0.752 0.00487        0.743        0.762
   48   3820     238    0.712 0.00528        0.701        0.722
   60   3077     164    0.678 0.00564        0.667        0.690
  120    692     357    0.550 0.00808        0.535        0.566

                SURGERY_YN=Ukn 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     85      29    0.755  0.0397        0.681        0.837
   24     72      10    0.664  0.0440        0.583        0.757
   36     66       5    0.618  0.0456        0.535        0.714
   48     63       2    0.599  0.0461        0.515        0.696
   60     48       5    0.550  0.0473        0.464        0.651
  120     24       7    0.452  0.0518        0.361        0.566

                SURGERY_YN=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2091     187    0.923 0.00543        0.912        0.934
   24   1787     107    0.873 0.00694        0.860        0.887
   36   1501      60    0.842 0.00777        0.827        0.857
   48   1268      54    0.810 0.00862        0.793        0.827
   60   1037      39    0.783 0.00934        0.765        0.802
  120    246      88    0.683 0.01343        0.658        0.710




   
## Univariable Cox Proportional Hazard Model for:  SURGERY_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURGERY_YN, data = data)

  n= 11998, number of events= 3406 

                  coef exp(coef) se(coef)      z Pr(>|z|)    
SURGERY_YNUkn  0.38918   1.47577  0.13162  2.957  0.00311 ** 
SURGERY_YNYes -0.44611   0.64011  0.04677 -9.539  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
SURGERY_YNUkn    1.4758     0.6776     1.140    1.9101
SURGERY_YNYes    0.6401     1.5622     0.584    0.7016

Concordance= 0.539  (se = 0.004 )
Rsquare= 0.009   (max possible= 0.993 )
Likelihood ratio test= 111.7  on 2 df,   p=0
Wald test            = 103.4  on 2 df,   p=0
Score (logrank) test = 105.4  on 2 df,   p=0
no non-missing arguments to min; returning Infno non-missing arguments to max; returning -InfTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SURGERY_YN

Radiation Yes/No

uni_var(test_var = "RADIATION_YN", data_imp = data)
_________________________________________________
   
## RADIATION_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RADIATION_YN, data = data)

   88 observations deleted due to missingness 
                    n events median 0.95LCL 0.95UCL
RADIATION_YN=No  8769   2378     NA     158      NA
RADIATION_YN=Yes 3141    993    155     136      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RADIATION_YN, data = data)

88 observations deleted due to missingness 
                RADIATION_YN=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   6709     934    0.887 0.00350        0.880        0.894
   24   5585     433    0.827 0.00429        0.818        0.835
   36   4552     304    0.779 0.00485        0.769        0.788
   48   3701     209    0.740 0.00529        0.730        0.751
   60   2947     153    0.707 0.00570        0.696        0.718
  120    674     309    0.585 0.00834        0.569        0.602

                RADIATION_YN=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2578     331    0.891 0.00566        0.880        0.902
   24   2105     234    0.806 0.00736        0.792        0.821
   36   1726     134    0.752 0.00823        0.736        0.768
   48   1416      84    0.713 0.00884        0.696        0.730
   60   1191      53    0.684 0.00931        0.666        0.703
  120    282     140    0.563 0.01257        0.539        0.589




   
## Univariable Cox Proportional Hazard Model for:  RADIATION_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RADIATION_YN, data = data)

  n= 11910, number of events= 3371 
   (88 observations deleted due to missingness)

                   coef exp(coef) se(coef)     z Pr(>|z|)  
RADIATION_YNYes 0.08112   1.08450  0.03779 2.147   0.0318 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                exp(coef) exp(-coef) lower .95 upper .95
RADIATION_YNYes     1.084     0.9221     1.007     1.168

Concordance= 0.506  (se = 0.004 )
Rsquare= 0   (max possible= 0.993 )
Likelihood ratio test= 4.56  on 1 df,   p=0.0328
Wald test            = 4.61  on 1 df,   p=0.03182
Score (logrank) test = 4.61  on 1 df,   p=0.03178





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RADIATION_YN

Chemo Yes/No

uni_var(test_var = "CHEMO_YN", data_imp = data)
_________________________________________________
   
## CHEMO_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CHEMO_YN, data = data)

                n events median 0.95LCL 0.95UCL
CHEMO_YN=No  7426   1542     NA      NA      NA
CHEMO_YN=Yes 4175   1784   82.6    73.5    93.4
CHEMO_YN=Ukn  397     80     NA   138.3      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CHEMO_YN, data = data)

                CHEMO_YN=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   5966     507    0.928 0.00309        0.922        0.934
   24   5088     251    0.887 0.00390        0.879        0.894
   36   4188     214    0.847 0.00458        0.838        0.856
   48   3418     158    0.812 0.00516        0.802        0.822
   60   2765     110    0.784 0.00565        0.773        0.795
  120    643     270    0.658 0.00897        0.641        0.676

                CHEMO_YN=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3062     760    0.811 0.00620        0.799        0.823
   24   2373     407    0.698 0.00745        0.683        0.713
   36   1893     218    0.630 0.00802        0.615        0.646
   48   1531     126    0.586 0.00838        0.569        0.602
   60   1241      86    0.550 0.00870        0.534        0.568
  120    277     169    0.436 0.01095        0.415        0.458

                CHEMO_YN=Ukn 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    314      20    0.944  0.0122        0.920        0.968
   24    278      13    0.904  0.0159        0.873        0.936
   36    240       8    0.877  0.0181        0.842        0.913
   48    202      10    0.839  0.0209        0.799        0.881
   60    156      12    0.785  0.0248        0.738        0.835
  120     42      13    0.683  0.0360        0.616        0.757




   
## Univariable Cox Proportional Hazard Model for:  CHEMO_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CHEMO_YN, data = data)

  n= 11998, number of events= 3406 

                coef exp(coef) se(coef)      z Pr(>|z|)    
CHEMO_YNYes  0.85266   2.34589  0.03481 24.493   <2e-16 ***
CHEMO_YNUkn -0.05485   0.94663  0.11467 -0.478    0.632    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

            exp(coef) exp(-coef) lower .95 upper .95
CHEMO_YNYes    2.3459     0.4263    2.1912     2.512
CHEMO_YNUkn    0.9466     1.0564    0.7561     1.185

Concordance= 0.614  (se = 0.004 )
Rsquare= 0.05   (max possible= 0.993 )
Likelihood ratio test= 610.3  on 2 df,   p=0
Wald test            = 620.2  on 2 df,   p=0
Score (logrank) test = 658.7  on 2 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  CHEMO_YN

Treatment Yes/No

uni_var(test_var = "Tx_YN", data_imp = data)
_________________________________________________
   
## Tx_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ Tx_YN, data = data)

   397 observations deleted due to missingness 
               n events median 0.95LCL 0.95UCL
Tx_YN=FALSE 4059    791     NA      NA      NA
Tx_YN=TRUE  7542   2535    136     131     158

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ Tx_YN, data = data)

397 observations deleted due to missingness 
                Tx_YN=FALSE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3179     290    0.924 0.00428        0.916        0.933
   24   2713     110    0.891 0.00520        0.880        0.901
   36   2210     102    0.855 0.00609        0.843        0.867
   48   1768      79    0.821 0.00693        0.807        0.835
   60   1400      60    0.790 0.00774        0.775        0.805
  120    331     136    0.657 0.01301        0.632        0.683

                Tx_YN=TRUE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   5849     977    0.865 0.00404        0.857        0.872
   24   4748     548    0.780 0.00502        0.770        0.789
   36   3871     330    0.722 0.00555        0.712        0.733
   48   3181     205    0.682 0.00593        0.670        0.693
   60   2606     136    0.650 0.00623        0.638        0.663
  120    589     303    0.534 0.00830        0.518        0.551




   
## Univariable Cox Proportional Hazard Model for:  Tx_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ Tx_YN, data = data)

  n= 11601, number of events= 3326 
   (397 observations deleted due to missingness)

             coef exp(coef) se(coef)     z Pr(>|z|)    
Tx_YNTRUE 0.56008   1.75082  0.04073 13.75   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

          exp(coef) exp(-coef) lower .95 upper .95
Tx_YNTRUE     1.751     0.5712     1.616     1.896

Concordance= 0.561  (se = 0.004 )
Rsquare= 0.018   (max possible= 0.994 )
Likelihood ratio test= 206.8  on 1 df,   p=0
Wald test            = 189.1  on 1 df,   p=0
Score (logrank) test = 194.1  on 1 df,   p=0





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  Tx_YN

Metastases at Dx

uni_var(test_var = "mets_at_dx_F", data_imp = data)
_________________________________________________
   
## mets_at_dx_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ mets_at_dx_F, data = data)

                       n events median 0.95LCL 0.95UCL
mets_at_dx_F=FALSE 11979   3390     NA  155.07      NA
mets_at_dx_F=TRUE     19     16   14.4    6.64    37.5

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ mets_at_dx_F, data = data)

                mets_at_dx_F=FALSE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   9333    1278    0.887 0.00298        0.881        0.893
   24   7733     668    0.820 0.00371        0.813        0.828
   36   6318     438    0.771 0.00417        0.763        0.779
   48   5151     292    0.733 0.00453        0.724        0.742
   60   4162     208    0.701 0.00485        0.691        0.710
  120    962     452    0.579 0.00692        0.566        0.593

                mets_at_dx_F=TRUE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      9       9    0.513   0.117       0.3281        0.803
   24      6       3    0.342   0.112       0.1799        0.651
   36      3       2    0.214   0.101       0.0845        0.541




   
## Univariable Cox Proportional Hazard Model for:  mets_at_dx_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ mets_at_dx_F, data = data)

  n= 11998, number of events= 3406 

                   coef exp(coef) se(coef)     z Pr(>|z|)    
mets_at_dx_FTRUE 1.8384    6.2864   0.2509 7.328 2.34e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                 exp(coef) exp(-coef) lower .95 upper .95
mets_at_dx_FTRUE     6.286     0.1591     3.845     10.28

Concordance= 0.502  (se = 0 )
Rsquare= 0.003   (max possible= 0.993 )
Likelihood ratio test= 31.84  on 1 df,   p=1.674e-08
Wald test            = 53.7  on 1 df,   p=2.338e-13
Score (logrank) test = 70.63  on 1 df,   p=0





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  mets_at_dx_F

Tumor specific Variables

Node Size

Cox Proportional Hazard Ratio

Model #1

Full analysis

model_one <- coxph(Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 0)
                     ~ SURG_RAD_SEQ + INSURANCE_F + AGE + SEX_F + RACE_F + INCOME_F + U_R_F +
                      FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F,
                     data = data)
model_one %>% summary()
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ + INSURANCE_F + AGE + SEX_F + RACE_F + 
    INCOME_F + U_R_F + FACILITY_TYPE_F + FACILITY_LOCATION_F + 
    EDUCATION_F, data = data)

  n= 9451, number of events= 3012 
   (2547 observations deleted due to missingness)

                                                  coef exp(coef)  se(coef)      z Pr(>|z|)    
SURG_RAD_SEQSurg then Rad                    -0.259897  0.771131  0.101940 -2.550  0.01079 *  
SURG_RAD_SEQRad Alone                         0.280902  1.324324  0.067472  4.163 3.14e-05 ***
SURG_RAD_SEQNo Treatment                      0.330105  1.391115  0.060635  5.444 5.21e-08 ***
SURG_RAD_SEQOther                             0.846979  2.332589  0.127938  6.620 3.59e-11 ***
SURG_RAD_SEQRad before and after Surg         0.832230  2.298439  0.716325  1.162  0.24531    
SURG_RAD_SEQRad then Surg                     0.782536  2.187012  0.505401  1.548  0.12154    
INSURANCE_FNone                               0.628658  1.875093  0.106221  5.918 3.25e-09 ***
INSURANCE_FMedicaid                           0.671840  1.957837  0.087491  7.679 1.60e-14 ***
INSURANCE_FMedicare                           0.238701  1.269599  0.051705  4.617 3.90e-06 ***
INSURANCE_FOther Government                   0.152376  1.164598  0.169204  0.901  0.36783    
INSURANCE_FUnknown                            0.031091  1.031580  0.120120  0.259  0.79576    
AGE                                           0.045553  1.046606  0.001995 22.834  < 2e-16 ***
SEX_FFemale                                  -0.240476  0.786254  0.037998 -6.329 2.47e-10 ***
RACE_FBlack                                   0.227439  1.255381  0.055709  4.083 4.45e-05 ***
RACE_FOther/Unk                              -0.194643  0.823129  0.120189 -1.619  0.10535    
RACE_FAsian                                   0.203467  1.225644  0.110428  1.843  0.06540 .  
INCOME_F$38,000 - $47,999                    -0.014464  0.985640  0.062682 -0.231  0.81750    
INCOME_F$48,000 - $62,999                     0.040343  1.041167  0.066697  0.605  0.54527    
INCOME_F$63,000 +                             0.020508  1.020720  0.077401  0.265  0.79104    
U_R_FUrban                                    0.017156  1.017304  0.057665  0.298  0.76607    
U_R_FRural                                    0.053466  1.054921  0.142315  0.376  0.70715    
FACILITY_TYPE_FComprehensive Comm Ca Program -0.004351  0.995658  0.088050 -0.049  0.96059    
FACILITY_TYPE_FAcademic/Research Program     -0.214646  0.806827  0.084019 -2.555  0.01063 *  
FACILITY_TYPE_FIntegrated Network Ca Program  0.047891  1.049056  0.103785  0.461  0.64448    
FACILITY_LOCATION_FMiddle Atlantic           -0.080176  0.922954  0.085910 -0.933  0.35069    
FACILITY_LOCATION_FSouth Atlantic            -0.015556  0.984564  0.085714 -0.181  0.85598    
FACILITY_LOCATION_FEast North Central        -0.015463  0.984655  0.087684 -0.176  0.86001    
FACILITY_LOCATION_FEast South Central         0.040610  1.041446  0.107439  0.378  0.70544    
FACILITY_LOCATION_FWest North Central         0.174749  1.190948  0.102376  1.707  0.08783 .  
FACILITY_LOCATION_FWest South Central         0.178528  1.195456  0.107546  1.660  0.09691 .  
FACILITY_LOCATION_FMountain                  -0.080664  0.922504  0.118130 -0.683  0.49471    
FACILITY_LOCATION_FPacific                    0.048237  1.049419  0.093407  0.516  0.60556    
EDUCATION_F13 - 20.9%                        -0.068279  0.934000  0.060190 -1.134  0.25663    
EDUCATION_F7 - 12.9%                         -0.186710  0.829684  0.067072 -2.784  0.00537 ** 
EDUCATION_FLess than 7%                      -0.324380  0.722976  0.079499 -4.080 4.50e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                             exp(coef) exp(-coef) lower .95 upper .95
SURG_RAD_SEQSurg then Rad                       0.7711     1.2968    0.6315    0.9417
SURG_RAD_SEQRad Alone                           1.3243     0.7551    1.1603    1.5116
SURG_RAD_SEQNo Treatment                        1.3911     0.7188    1.2352    1.5667
SURG_RAD_SEQOther                               2.3326     0.4287    1.8153    2.9974
SURG_RAD_SEQRad before and after Surg           2.2984     0.4351    0.5645    9.3577
SURG_RAD_SEQRad then Surg                       2.1870     0.4572    0.8122    5.8891
INSURANCE_FNone                                 1.8751     0.5333    1.5227    2.3091
INSURANCE_FMedicaid                             1.9578     0.5108    1.6493    2.3241
INSURANCE_FMedicare                             1.2696     0.7877    1.1472    1.4050
INSURANCE_FOther Government                     1.1646     0.8587    0.8359    1.6226
INSURANCE_FUnknown                              1.0316     0.9694    0.8152    1.3054
AGE                                             1.0466     0.9555    1.0425    1.0507
SEX_FFemale                                     0.7863     1.2719    0.7298    0.8470
RACE_FBlack                                     1.2554     0.7966    1.1255    1.4002
RACE_FOther/Unk                                 0.8231     1.2149    0.6504    1.0418
RACE_FAsian                                     1.2256     0.8159    0.9871    1.5218
INCOME_F$38,000 - $47,999                       0.9856     1.0146    0.8717    1.1145
INCOME_F$48,000 - $62,999                       1.0412     0.9605    0.9136    1.1866
INCOME_F$63,000 +                               1.0207     0.9797    0.8770    1.1879
U_R_FUrban                                      1.0173     0.9830    0.9086    1.1390
U_R_FRural                                      1.0549     0.9479    0.7981    1.3943
FACILITY_TYPE_FComprehensive Comm Ca Program    0.9957     1.0044    0.8378    1.1832
FACILITY_TYPE_FAcademic/Research Program        0.8068     1.2394    0.6843    0.9513
FACILITY_TYPE_FIntegrated Network Ca Program    1.0491     0.9532    0.8560    1.2857
FACILITY_LOCATION_FMiddle Atlantic              0.9230     1.0835    0.7799    1.0922
FACILITY_LOCATION_FSouth Atlantic               0.9846     1.0157    0.8323    1.1647
FACILITY_LOCATION_FEast North Central           0.9847     1.0156    0.8292    1.1693
FACILITY_LOCATION_FEast South Central           1.0414     0.9602    0.8437    1.2855
FACILITY_LOCATION_FWest North Central           1.1909     0.8397    0.9744    1.4556
FACILITY_LOCATION_FWest South Central           1.1955     0.8365    0.9683    1.4760
FACILITY_LOCATION_FMountain                     0.9225     1.0840    0.7318    1.1628
FACILITY_LOCATION_FPacific                      1.0494     0.9529    0.8739    1.2603
EDUCATION_F13 - 20.9%                           0.9340     1.0707    0.8301    1.0509
EDUCATION_F7 - 12.9%                            0.8297     1.2053    0.7275    0.9462
EDUCATION_FLess than 7%                         0.7230     1.3832    0.6187    0.8449

Concordance= 0.684  (se = 0.006 )
Rsquare= 0.138   (max possible= 0.996 )
Likelihood ratio test= 1401  on 35 df,   p=0
Wald test            = 1335  on 35 df,   p=0
Score (logrank) test = 1410  on 35 df,   p=0

Summary of Model

model_one %>%
        tidy(., exponentiate = TRUE) %>%
        select(term, estimate, conf.low, conf.high, p.value) %>%
        rename(Variable = term,
               Hazard_Ratio = estimate) %>%
        tbl_df %>%
        print(n = nrow(.))

Prediction Logistic Regression Models

Surgery

no_Ukns <- data %>%
  filter(SURGERY_YN != "Ukn") %>% 
  droplevels() %>% 
  mutate(SURGERY_YN = as.logical(SURGERY_YN))
fit_surg <- glm(SURG_TF ~ AGE_F + SEX_F + RACE_F + INCOME_F + U_R_F +
                      FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + EXPN_GROUP,
   data = no_Ukns)
summary(fit_surg)

Call:
glm(formula = SURG_TF ~ AGE_F + SEX_F + RACE_F + INCOME_F + U_R_F + 
    FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + EXPN_GROUP, 
    data = no_Ukns)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.4643  -0.2233  -0.1853  -0.1334   0.9312  

Coefficients:
                                               Estimate Std. Error t value Pr(>|t|)    
(Intercept)                                   3.200e-01  3.158e-02  10.132  < 2e-16 ***
AGE_F(54,64]                                 -2.114e-02  1.107e-02  -1.910 0.056185 .  
AGE_F(64,74]                                 -4.316e-02  1.166e-02  -3.703 0.000214 ***
AGE_F(74,100]                                -5.881e-02  1.246e-02  -4.720 2.39e-06 ***
SEX_FFemale                                   1.366e-02  8.542e-03   1.599 0.109868    
RACE_FBlack                                  -1.914e-02  1.267e-02  -1.511 0.130706    
RACE_FOther/Unk                              -2.081e-02  2.350e-02  -0.886 0.375805    
RACE_FAsian                                   3.394e-03  2.465e-02   0.138 0.890500    
INCOME_F$38,000 - $47,999                     4.447e-05  1.530e-02   0.003 0.997681    
INCOME_F$48,000 - $62,999                     2.994e-02  1.604e-02   1.866 0.062008 .  
INCOME_F$63,000 +                             3.851e-02  1.816e-02   2.120 0.034026 *  
U_R_FUrban                                   -2.446e-02  1.405e-02  -1.741 0.081789 .  
U_R_FRural                                   -4.318e-02  3.684e-02  -1.172 0.241171    
FACILITY_TYPE_FComprehensive Comm Ca Program -5.920e-02  2.255e-02  -2.625 0.008674 ** 
FACILITY_TYPE_FAcademic/Research Program     -1.252e-01  2.125e-02  -5.893 3.93e-09 ***
FACILITY_TYPE_FIntegrated Network Ca Program -4.392e-02  2.622e-02  -1.675 0.093934 .  
FACILITY_LOCATION_FMiddle Atlantic           -4.295e-03  1.905e-02  -0.226 0.821595    
FACILITY_LOCATION_FSouth Atlantic            -2.253e-03  1.970e-02  -0.114 0.908909    
FACILITY_LOCATION_FEast North Central         1.002e-02  1.994e-02   0.503 0.615262    
FACILITY_LOCATION_FEast South Central         1.797e-02  2.525e-02   0.712 0.476602    
FACILITY_LOCATION_FWest North Central        -2.627e-03  2.382e-02  -0.110 0.912164    
FACILITY_LOCATION_FWest South Central         1.151e-02  2.488e-02   0.462 0.643756    
FACILITY_LOCATION_FMountain                   1.236e-01  2.582e-02   4.788 1.71e-06 ***
FACILITY_LOCATION_FPacific                   -3.347e-02  2.138e-02  -1.565 0.117532    
EDUCATION_F13 - 20.9%                        -6.768e-03  1.469e-02  -0.461 0.645100    
EDUCATION_F7 - 12.9%                         -3.110e-03  1.605e-02  -0.194 0.846339    
EDUCATION_FLess than 7%                      -2.640e-02  1.847e-02  -1.430 0.152868    
EXPN_GROUPPre-Expansion                       5.009e-03  1.200e-02   0.417 0.676390    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for gaussian family taken to be 0.1637474)

    Null deviance: 1553.1  on 9346  degrees of freedom
Residual deviance: 1526.0  on 9319  degrees of freedom
  (2519 observations deleted due to missingness)
AIC: 9642.9

Number of Fisher Scoring iterations: 2
exp(cbind("Odds ratio" = coef(fit_surg), confint.default(fit_surg, level = 0.95)))
                                             Odds ratio     2.5 %    97.5 %
(Intercept)                                   1.3771198 1.2944564 1.4650620
AGE_F(54,64]                                  0.9790817 0.9580691 1.0005551
AGE_F(64,74]                                  0.9577572 0.9361261 0.9798882
AGE_F(74,100]                                 0.9428864 0.9201389 0.9661963
SEX_FFemale                                   1.0137522 0.9969208 1.0308678
RACE_FBlack                                   0.9810371 0.9569817 1.0056972
RACE_FOther/Unk                               0.9794018 0.9353155 1.0255661
RACE_FAsian                                   1.0033996 0.9560733 1.0530686
INCOME_F$38,000 - $47,999                     1.0000445 0.9704989 1.0304895
INCOME_F$48,000 - $62,999                     1.0303914 0.9985013 1.0632999
INCOME_F$63,000 +                             1.0392567 1.0029123 1.0769182
U_R_FUrban                                    0.9758372 0.9493272 1.0030876
U_R_FRural                                    0.9577344 0.8910140 1.0294509
FACILITY_TYPE_FComprehensive Comm Ca Program  0.9425154 0.9017628 0.9851097
FACILITY_TYPE_FAcademic/Research Program      0.8823053 0.8463132 0.9198280
FACILITY_TYPE_FIntegrated Network Ca Program  0.9570258 0.9090844 1.0074955
FACILITY_LOCATION_FMiddle Atlantic            0.9957142 0.9592291 1.0335871
FACILITY_LOCATION_FSouth Atlantic             0.9977491 0.9599683 1.0370168
FACILITY_LOCATION_FEast North Central         1.0100726 0.9713570 1.0503312
FACILITY_LOCATION_FEast South Central         1.0181368 0.9689735 1.0697946
FACILITY_LOCATION_FWest North Central         0.9973763 0.9518902 1.0450359
FACILITY_LOCATION_FWest South Central         1.0115742 0.9634232 1.0621318
FACILITY_LOCATION_FMountain                   1.1315914 1.0757550 1.1903260
FACILITY_LOCATION_FPacific                    0.9670822 0.9273899 1.0084733
EDUCATION_F13 - 20.9%                         0.9932544 0.9650552 1.0222777
EDUCATION_F7 - 12.9%                          0.9968948 0.9660269 1.0287490
EDUCATION_FLess than 7%                       0.9739449 0.9393232 1.0098426
EXPN_GROUPPre-Expansion                       1.0050212 0.9816604 1.0289380

Metastasis at Time of Diagnosis

# limit to those cases where data about expansion status is available (> Age 39, non-ambiguous status states)
fit_mets <- glm(mets_at_dx_F ~ AGE_F + SEX_F + RACE_F + INCOME_F + U_R_F +
                      FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + EXPN_GROUP,
   data = no_Excludes)
summary(fit_mets)

Call:
glm(formula = mets_at_dx_F ~ AGE_F + SEX_F + RACE_F + INCOME_F + 
    U_R_F + FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + 
    EXPN_GROUP, data = no_Excludes)

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
     0       0       0       0       0  

Coefficients:
                                             Estimate Std. Error t value Pr(>|t|)
(Intercept)                                         0          0      NA       NA
AGE_F(54,64]                                        0          0      NA       NA
AGE_F(64,74]                                        0          0      NA       NA
AGE_F(74,100]                                       0          0      NA       NA
SEX_FFemale                                         0          0      NA       NA
RACE_FBlack                                         0          0      NA       NA
RACE_FOther/Unk                                     0          0      NA       NA
RACE_FAsian                                         0          0      NA       NA
INCOME_F$38,000 - $47,999                           0          0      NA       NA
INCOME_F$48,000 - $62,999                           0          0      NA       NA
INCOME_F$63,000 +                                   0          0      NA       NA
U_R_FUrban                                          0          0      NA       NA
U_R_FRural                                          0          0      NA       NA
FACILITY_TYPE_FComprehensive Comm Ca Program        0          0      NA       NA
FACILITY_TYPE_FAcademic/Research Program            0          0      NA       NA
FACILITY_TYPE_FIntegrated Network Ca Program        0          0      NA       NA
FACILITY_LOCATION_FMiddle Atlantic                  0          0      NA       NA
FACILITY_LOCATION_FSouth Atlantic                   0          0      NA       NA
FACILITY_LOCATION_FEast North Central               0          0      NA       NA
FACILITY_LOCATION_FEast South Central               0          0      NA       NA
FACILITY_LOCATION_FWest North Central               0          0      NA       NA
FACILITY_LOCATION_FWest South Central               0          0      NA       NA
FACILITY_LOCATION_FMountain                         0          0      NA       NA
FACILITY_LOCATION_FPacific                          0          0      NA       NA
EDUCATION_F13 - 20.9%                               0          0      NA       NA
EDUCATION_F7 - 12.9%                                0          0      NA       NA
EDUCATION_FLess than 7%                             0          0      NA       NA
EXPN_GROUPPre-Expansion                             0          0      NA       NA

(Dispersion parameter for gaussian family taken to be 0)

    Null deviance: 0  on 687  degrees of freedom
Residual deviance: 0  on 660  degrees of freedom
  (18 observations deleted due to missingness)
AIC: -Inf

Number of Fisher Scoring iterations: 1
exp(cbind("Odds ratio" = coef(fit_mets), confint.default(fit_surg, level = 0.95)))
                                             Odds ratio     2.5 %    97.5 %
(Intercept)                                           1 1.2944564 1.4650620
AGE_F(54,64]                                          1 0.9580691 1.0005551
AGE_F(64,74]                                          1 0.9361261 0.9798882
AGE_F(74,100]                                         1 0.9201389 0.9661963
SEX_FFemale                                           1 0.9969208 1.0308678
RACE_FBlack                                           1 0.9569817 1.0056972
RACE_FOther/Unk                                       1 0.9353155 1.0255661
RACE_FAsian                                           1 0.9560733 1.0530686
INCOME_F$38,000 - $47,999                             1 0.9704989 1.0304895
INCOME_F$48,000 - $62,999                             1 0.9985013 1.0632999
INCOME_F$63,000 +                                     1 1.0029123 1.0769182
U_R_FUrban                                            1 0.9493272 1.0030876
U_R_FRural                                            1 0.8910140 1.0294509
FACILITY_TYPE_FComprehensive Comm Ca Program          1 0.9017628 0.9851097
FACILITY_TYPE_FAcademic/Research Program              1 0.8463132 0.9198280
FACILITY_TYPE_FIntegrated Network Ca Program          1 0.9090844 1.0074955
FACILITY_LOCATION_FMiddle Atlantic                    1 0.9592291 1.0335871
FACILITY_LOCATION_FSouth Atlantic                     1 0.9599683 1.0370168
FACILITY_LOCATION_FEast North Central                 1 0.9713570 1.0503312
FACILITY_LOCATION_FEast South Central                 1 0.9689735 1.0697946
FACILITY_LOCATION_FWest North Central                 1 0.9518902 1.0450359
FACILITY_LOCATION_FWest South Central                 1 0.9634232 1.0621318
FACILITY_LOCATION_FMountain                           1 1.0757550 1.1903260
FACILITY_LOCATION_FPacific                            1 0.9273899 1.0084733
EDUCATION_F13 - 20.9%                                 1 0.9650552 1.0222777
EDUCATION_F7 - 12.9%                                  1 0.9660269 1.0287490
EDUCATION_FLess than 7%                               1 0.9393232 1.0098426
EXPN_GROUPPre-Expansion                               1 0.9816604 1.0289380
LS0tCnRpdGxlOiAiQ3V0YW5lb3VzIFQtQ2VsbCBMeW1waG9tYSBBbmFseXNpcyAtIEEgUmV2aWV3IG9mIHRoZSBOQ0RCIgphdXRob3I6ICJSYW1pZSBGYXRoeSIKZGF0ZTogIjEwLzE2LzIwMTkiCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgdGhlbWU6IHVuaXRlZAogICAgdG9jOiB5ZXMKICAgIHRvY19mbG9hdDogeWVzCiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogeWVzCi0tLQoKYGBge3IsIGVjaG89RkFMU0UsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9CgpsaWJyYXJ5KCJnZ3Bsb3QyIikKbGlicmFyeSgiZHBseXIiKQpsaWJyYXJ5KCJ0aWR5ciIpCmxpYnJhcnkoImtuaXRyIikKbGlicmFyeSgidGFibGVvbmUiKQpsaWJyYXJ5KCJmb3JjYXRzIikKbGlicmFyeSgic3Vydml2YWwiKQpsaWJyYXJ5KCJucHN1cnYiKQpsaWJyYXJ5KCJicm9vbSIpCmxpYnJhcnkoInRpYmJsZSIpCmxpYnJhcnkoInJlYWRyIikKbGlicmFyeSgic3Vydm1pbmVyIikKbGlicmFyeSgic3RyaW5nciIpCgoKa25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG89VFJVRSwgd2FybmluZz1GQUxTRSwgbWVzc2FnZT1UUlVFKQonJSFpbiUnIDwtIGZ1bmN0aW9uKHgseSkhKCclaW4lJyh4LHkpKQpgYGAKCmBgYHtyfQpwX3RhYmxlIDwtIGZ1bmN0aW9uKHRhYl9kYXRhLCAuLi4pIHsKICB0YWJfZGF0YV8yIDwtIGRlcGFyc2Uoc3Vic3RpdHV0ZSh0YWJfZGF0YSkpCiAgCiAgdGFibGVfcCA8LSBkby5jYWxsKENyZWF0ZVRhYmxlT25lLCAKICAgICAgICAgICAgICAgICAgICAgbGlzdChkYXRhID0gYXMubmFtZSh0YWJfZGF0YV8yKSwgaW5jbHVkZU5BID0gVFJVRSwgLi4uKSkKICB0YWJsZV9wX291dCA8LSBwcmludCh0YWJsZV9wLAogICAgICAgICAgICAgICAgICAgICAgIHNob3dBbGxMZXZlbHMgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgIHByaW50VG9nZ2xlID0gRkFMU0UpCiAga2FibGUodGFibGVfcF9vdXQsCiAgICAgICAgYWxpZ24gPSAiYyIpCn0KYGBgCgpgYGB7cn0KdW5pX3ZhciA8LSBmdW5jdGlvbih0ZXN0X3ZhciwgZGF0YV9pbXApIHsKCiAgICAgICAgICAgICAgICAKICAgICAgICBjYXQoIl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18iKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiICAgXG4jIyIsIHRlc3RfdmFyKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyIpCiAgICAgICAgY2F0KCJcbiIpCgogICAgICAgIAogICAgICAgIGYgPC0gYXMuZm9ybXVsYShwYXN0ZSgiU3VydihEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMsIFBVRl9WSVRBTF9TVEFUVVMgPT0gMCkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcy5uYW1lKHRlc3RfdmFyKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwID0gIiB+ICIgKSkKICAgICAgICAKICAgICAgICBkYXRhX2ltcF8yIDwtIGRlcGFyc2Uoc3Vic3RpdHV0ZShkYXRhX2ltcCkpCgogICAgICAgIGttX2ZpdCA8LSBkby5jYWxsKCJzdXJ2Zml0IiwgbGlzdChmb3JtdWxhID0gZiwgZGF0YSA9IGFzLm5hbWUoZGF0YV9pbXBfMikpKQoKICAgICAgICBwcmludChrbV9maXQpCiAgICAgICAgY2F0KCJcbiIpCgogICAgICAgIHByaW50KHN1bW1hcnkoa21fZml0LCB0aW1lcyA9IGMoMTIsIDI0LCAzNiwgNDgsIDYwLCAxMjApKSkKICAgICAgICBjYXQoIlxuIikKCgogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiICAgXG4jIyBVbml2YXJpYWJsZSBDb3ggUHJvcG9ydGlvbmFsIEhhemFyZCBNb2RlbCBmb3I6ICIsIHRlc3RfdmFyKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiXG4iKQoKCiAgICAgICAgbl9sZXZlbHMgPC0gbmxldmVscyhkYXRhX2ltcFtbdGVzdF92YXJdXSkKCiAgICAgICAgaWYobl9sZXZlbHMgPT0gMSl7CiAgICAgICAgICAgICAgICBwcmludCgiT25seSBvbmUgbGV2ZWwsIG5vIENveCBtb2RlbCBwZXJmb3JtZWQiKQogICAgICAgICAgICAgICAgY2F0KCJcbiIpCgogICAgICAgIH0gZWxzZSB7CgoKICAgICAgICAgICAgICAgIGNveF9maXQgPC0gZG8uY2FsbCgiY294cGgiLCBsaXN0KGZvcm11bGEgPSBmLCBkYXRhID0gYXMubmFtZShkYXRhX2ltcF8yKSkpCgogICAgICAgICAgICAgICAgcHJpbnQoc3VtbWFyeShjb3hfZml0KSkKICAgICAgICAgICAgICAgIGNhdCgiXG4iKQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBkby5jYWxsKCJnZ2ZvcmVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0KG1vZGVsID0gY294X2ZpdCwgZGF0YSA9IGFzLm5hbWUoZGF0YV9pbXBfMikpKQoKCiAgICAgICAgfQoKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIiAgIFxuIyMgVW5hZGp1c3RlZCBLYXBsYW4gTWVpZXIgT3ZlcmFsbCBTdXJ2aXZhbCBDdXJ2ZSBmb3I6ICIsIHRlc3RfdmFyKQoKCiAgICAgICAgcCA8LSBkby5jYWxsKCJnZ3N1cnZwbG90IiwKICAgICAgICAgICAgICAgICAgICAgbGlzdChmaXQgPSBrbV9maXQsIGRhdGEgPSBhcy5uYW1lKGRhdGFfaW1wXzIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAiamNvIiwgY2Vuc29yID0gRkFMU0UsIGxlZ2VuZCA9ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZXR5cGUgPSAic3RyYXRhIiwgeGxhYiA9ICJUaW1lIChNb250aHMpIikpCgogICAgICAgIHByaW50KHApCgp9CgpgYGAKCmBgYHtyIGNodW5rMiwgY2FjaGU9VFJVRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRSwgcmVzdWx0cz0naGlkZSd9CmNvbC53aWR0aCA8LSBjKDM3LCAxMCwgMSwgMSwgMywgMSwgMiwgMSwgMiwgMSwgMSwgMSwgMSwgMSwgMSwgOCwgMiwgMiwgMiwgNCwgNCwgMSwgNCwgMSwgMSwKICAgICAgICAgICAgICAgMSwgMywgMiwgMiwgOCwgMiwgNSwgNSwgNSwgNCwgNSwgNSwgNSw0LCAyLCAxLCAyLCAxLCAzLCAxLCAxLCAxLCAxLCAxLCAxLCAzLAogICAgICAgICAgICAgICAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCA2LCA4LAogICAgICAgICAgICAgICA4LCA4LCAyLCAxLCAxLCAxLCAxLCA4LCAxLCAxLCA4LCAxLCAxLCAyLCAyLCA1LCAyLCA1LCAzLCAxLCAzLCAxLCA4LCA4LCAyLCA4LAogICAgICAgICAgICAgICAyLCA4LCAyLCAyLCAxLCA4LCAxLCAxLCAxLCAxLCAxLCA4LCAxLCAyLCAyLCAyLCAyLCAyLCAxLCAxLCAxLCAyLCAxLCAzLCAxLCAxLAogICAgICAgICAgICAgICAxLCAxLCAxLCAxLCAxLCAxLCAxKQoKY29sLm5hbWVzLmFiciA8LSBjKCJQVUZfQ0FTRV9JRCIsICJQVUZfRkFDSUxJVFlfSUQiLCAiRkFDSUxJVFlfVFlQRV9DRCIsICJGQUNJTElUWV9MT0NBVElPTl9DRCIsCiAgICAgICAgICAgICAgICAgICAiQUdFIiwgIlNFWCIsICJSQUNFIiwgIlNQQU5JU0hfSElTUEFOSUNfT1JJR0lOIiwgIklOU1VSQU5DRV9TVEFUVVMiLAogICAgICAgICAgICAgICAgICAgIk1FRF9JTkNfUVVBUl8wMCIsICJOT19IU0RfUVVBUl8wMCIsICJVUl9DRF8wMyIsICJNRURfSU5DX1FVQVJfMTIiLCAiTk9fSFNEX1FVQVJfMTIiLAogICAgICAgICAgICAgICAgICAgIlVSX0NEXzEzIiwgIkNST1dGTFkiLCAiQ0RDQ19UT1RBTF9CRVNUIiwgIlNFUVVFTkNFX05VTUJFUiIsICJDTEFTU19PRl9DQVNFIiwKICAgICAgICAgICAgICAgICAgICJZRUFSX09GX0RJQUdOT1NJUyIsICJQUklNQVJZX1NJVEUiLCAiTEFURVJBTElUWSIsICJISVNUT0xPR1kiLCAiQkVIQVZJT1IiLCAiR1JBREUiLAogICAgICAgICAgICAgICAgICAgIkRJQUdOT1NUSUNfQ09ORklSTUFUSU9OIiwgIlRVTU9SX1NJWkUiLCAiUkVHSU9OQUxfTk9ERVNfUE9TSVRJVkUiLAogICAgICAgICAgICAgICAgICAgIlJFR0lPTkFMX05PREVTX0VYQU1JTkVEIiwgIkRYX1NUQUdJTkdfUFJPQ19EQVlTIiwgIlJYX1NVTU1fRFhTVEdfUFJPQyIsICJUTk1fQ0xJTl9UIiwKICAgICAgICAgICAgICAgICAgICJUTk1fQ0xJTl9OIiwgIlROTV9DTElOX00iLCAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCAiVE5NX1BBVEhfVCIsICJUTk1fUEFUSF9OIiwgIlROTV9QQVRIX00iLAogICAgICAgICAgICAgICAgICAgIlROTV9QQVRIX1NUQUdFX0dST1VQIiwgIlROTV9FRElUSU9OX05VTUJFUiIsICJBTkFMWVRJQ19TVEFHRV9HUk9VUCIsICJDU19NRVRTX0FUX0RYIiwKICAgICAgICAgICAgICAgICAgICJDU19NRVRTX0VWQUwiLCAiQ1NfRVhURU5TSU9OIiwgIkNTX1RVTU9SX1NJWkVFWFRfRVZBTCIsICJDU19NRVRTX0RYX0JPTkUiLCAiQ1NfTUVUU19EWF9CUkFJTiIsCiAgICAgICAgICAgICAgICAgICAiQ1NfTUVUU19EWF9MSVZFUiIsICJDU19NRVRTX0RYX0xVTkciLCAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT04iLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xIiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzIiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8zIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfNCIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl81IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfNiIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzciLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfOCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzkiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xMCIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xMSIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzEyIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTMiLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTQiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xNSIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzE2IiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzE3IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTgiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xOSIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8yMCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzIxIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMjIiLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMjMiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8yNCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzI1IiwKICAgICAgICAgICAgICAgICAgICJDU19WRVJTSU9OX0xBVEVTVCIsICJEWF9SWF9TVEFSVEVEX0RBWVMiLCAiRFhfU1VSR19TVEFSVEVEX0RBWVMiLCAiRFhfREVGU1VSR19TVEFSVEVEX0RBWVMiLAogICAgICAgICAgICAgICAgICAgIlJYX1NVTU1fU1VSR19QUklNX1NJVEUiLCAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMCIsICJSWF9TVU1NX1NVUkdJQ0FMX01BUkdJTlMiLAogICAgICAgICAgICAgICAgICAgIlJYX1NVTU1fU0NPUEVfUkVHX0xOX1NVUiIsICJSWF9TVU1NX1NVUkdfT1RIX1JFR0RJUyIsICJTVVJHX0RJU0NIQVJHRV9EQVlTIiwgIlJFQURNX0hPU1BfMzBfREFZUyIsCiAgICAgICAgICAgICAgICAgICAiUkVBU09OX0ZPUl9OT19TVVJHRVJZIiwgIkRYX1JBRF9TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9SQURJQVRJT04iLCAiUkFEX0xPQ0FUSU9OX09GX1JYIiwKICAgICAgICAgICAgICAgICAgICJSQURfVFJFQVRfVk9MIiwgIlJBRF9SRUdJT05BTF9SWF9NT0RBTElUWSIsICJSQURfUkVHSU9OQUxfRE9TRV9DR1kiLCAiUkFEX0JPT1NUX1JYX01PREFMSVRZIiwKICAgICAgICAgICAgICAgICAgICJSQURfQk9PU1RfRE9TRV9DR1kiLCAiUkFEX05VTV9UUkVBVF9WT0wiLCAiUlhfU1VNTV9TVVJHUkFEX1NFUSIsICJSQURfRUxBUFNFRF9SWF9EQVlTIiwKICAgICAgICAgICAgICAgICAgICJSRUFTT05fRk9SX05PX1JBRElBVElPTiIsICJEWF9TWVNURU1JQ19TVEFSVEVEX0RBWVMiLCAiRFhfQ0hFTU9fU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fQ0hFTU8iLAogICAgICAgICAgICAgICAgICAgIkRYX0hPUk1PTkVfU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fSE9STU9ORSIsICJEWF9JTU1VTk9fU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fSU1NVU5PVEhFUkFQWSIsCiAgICAgICAgICAgICAgICAgICAiUlhfU1VNTV9UUk5TUExOVF9FTkRPIiwgIlJYX1NVTU1fU1lTVEVNSUNfU1VSX1NFUSIsICJEWF9PVEhFUl9TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9PVEhFUiIsCiAgICAgICAgICAgICAgICAgICAiUEFMTElBVElWRV9DQVJFIiwgIlJYX1NVTU1fVFJFQVRNRU5UX1NUQVRVUyIsICJQVUZfMzBfREFZX01PUlRfQ0QiLCAiUFVGXzkwX0RBWV9NT1JUX0NEIiwKICAgICAgICAgICAgICAgICAgICJEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMiLCAiUFVGX1ZJVEFMX1NUQVRVUyIsICJSWF9IT1NQX1NVUkdfUFJJTV9TSVRFIiwgIlJYX0hPU1BfQ0hFTU8iLAogICAgICAgICAgICAgICAgICAgIlJYX0hPU1BfSU1NVU5PVEhFUkFQWSIsICJSWF9IT1NQX0hPUk1PTkUiLCAiUlhfSE9TUF9PVEhFUiIsICJQVUZfTVVMVF9TT1VSQ0UiLCAiUkVGRVJFTkNFX0RBVEVfRkxBRyIsCiAgICAgICAgICAgICAgICAgICAiUlhfU1VNTV9TQ09QRV9SRUdfTE5fMjAxMiIsICJSWF9IT1NQX0RYU1RHX1BST0MiLCAiUEFMTElBVElWRV9DQVJFX0hPU1AiLCAiVFVNT1JfU0laRV9TVU1NQVJZIiwKICAgICAgICAgICAgICAgICAgICJNRVRTX0FUX0RYX09USEVSIiwgIk1FVFNfQVRfRFhfRElTVEFOVF9MTiIsICJNRVRTX0FUX0RYX0JPTkUiLCAiTUVUU19BVF9EWF9CUkFJTiIsCiAgICAgICAgICAgICAgICAgICAiTUVUU19BVF9EWF9MSVZFUiIsICJNRVRTX0FUX0RYX0xVTkciLCAiTk9fSFNEX1FVQVJfMTYiLCAiTUVEX0lOQ19RVUFSXzE2IiwgIk1FRElDQUlEX0VYUE5fQ09ERSIpCgoKCiNSZWFkIGluIGRhdGEgZm9yIGVhY2ggc3Vic2l0ZQpsaXAgPC0gcmVhZF9md2YoJ05DREJQVUZfTGlwLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCm1lbGFub21hIDwtIHJlYWRfZndmKCdOQ0RCUFVGX01lbGFub21hLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKICAgICAgICAgICAgICAgICAgICAgICAKc2tpbiA8LSByZWFkX2Z3ZignTkNEQlBVRl9PdFNraW4uMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKaG9kZ2V4dHIgPC0gcmVhZF9md2YoJ05DREJQVUZfSG9kZ0V4dHIuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKaG9kZ25kYWwgPC0gcmVhZF9md2YoJ05DREJQVUZfSG9kZ05kYWwuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKTkhMbmRhbCA8LSByZWFkX2Z3ZignTkNEQlBVRl9OSExOZGFsLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCk5ITGV4dHIgPC0gcmVhZF9md2YoJ05DREJQVUZfTkhMRXh0ci4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgoKYnJlYXN0IDwtICByZWFkX2Z3ZignTkNEQlBVRl9CcmVhc3QuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKdnVsdmEgPC0gIHJlYWRfZndmKCdOQ0RCUFVGX1Z1bHZhLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCnZhZ2luYSA8LSAgcmVhZF9md2YoJ05DREJQVUZfVmFnaW5hLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCnBlbmlzIDwtICByZWFkX2Z3ZignTkNEQlBVRl9QZW5pcy4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgpvdGxldWsgPC0gcmVhZF9md2YoJ05DREJQVUZfT3RMZXVrLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKICAKb3RoZXJhY3V0ZWxldWsgIDwtIHJlYWRfZndmKCdOQ0RCUFVGX090QWNMZXVrLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKICAKQUxMICA8LSByZWFkX2Z3ZignTkNEQlBVRl9BTHltTGV1ay4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgoKI0NvbWJpbmUgZGF0YSBmb3IgYWxsIHN1YnNpdGVzCmRhdCA8LSBiaW5kX3Jvd3MobGlwLCBtZWxhbm9tYSwgc2tpbiwgaG9kZ2V4dHIsIGhvZGduZGFsLCBOSExuZGFsLCBicmVhc3QsIAogICAgICAgICAgICAgICAgIHZ1bHZhLCB2YWdpbmEsIHBlbmlzLCBOSExleHRyLCBvdGxldWssIG90aGVyYWN1dGVsZXVrLCBBTEwpCgpybShsaXAsIG1lbGFub21hLCBza2luLCBob2RnZXh0ciwgaG9kZ25kYWwsIE5ITG5kYWwsIGJyZWFzdCwgdnVsdmEsIHZhZ2luYSwgCiAgIHBlbmlzLCBOSExleHRyLCBvdGxldWssIG90aGVyYWN1dGVsZXVrLCBBTEwpCgpwcmltX3NpdGVfdGV4dCA8LSBkYXRhX2ZyYW1lKFBSSU1BUllfU0lURSA9IGMoCiNOSEwgc2l0ZXMKIkMwMDAiLCAKIkMwMDEiLCAKIkMwMDIiLCAKIkMwMDMiLCAKIkMwMDQiLCAKIkMwMDUiLCAKIkMwMDYiLCAKIkMwMDgiLAoiQzAwOSIsIAoiQzAxOSIsIAoiQzAyMCIsIAoiQzAyMSIsCiJDMDIyIiwgCiJDMDIzIiwgCiJDMDI0IiwgCiJDMDI4IiwgCiJDMDI5IiwKIkMwMzAiLAoiQzAzMSIsCiJDMDM5IiwgCiJDMDQwIiwgCiJDMDQxIiwgCiJDMDQ4IiwKIkMwNDkiLCAKIkMwNTAiLCAKIkMwNTEiLCAKIkMwNTIiLCAKIkMwNTgiLCAKIkMwNTkiLAoiQzA2MCIsIAoiQzA2MSIsIAoiQzA2MiIsIAoiQzA2OCIsIAoiQzA2OSIsIAoiQzA3OSIsICAKIkMwOTgiLAoiQzA5OSIsCiJDMTExIiwKIkMxNDIiLAoiQzMwMCIsCiJDMzc5IiwKIkM0MjAiLAoiQzQyMiIsCiJDNDI0IiwKCiNza2luL21lbGFub21hCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDNDQwIiwgIkM0NDEiLCAiQzQ0MiIsICJDNDQzIiwgIkM0NDQiLCAiQzQ0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDNDQ2IiwgIkM0NDciLCAiQzQ0OCIsICJDNDQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNicmVhc3QgLSBuaXBwbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkM1MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3ZhZ2luYS92dWx2YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQzUxMCIsICJDNTExIiwgIkM1MTIiLCAiQzUxOCIsICJDNTE5IiwgIkM1MjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3BlbmlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDNjAwIiwgIkM2MDEiLCAiQzYwMiIsICJDNjA4IiwgIkM2MDkiLCAiQzYzOSIsCgoiQzc3MCIsCiJDNzcxIiwKIkM3NzIiLAoiQzc3MyIsCiJDNzc0IiwKIkM3NzUiLAoiQzc3OCIsCiJDNzc5IiksCgpTSVRFX1RFWFQgPSBjKAoiQzAwLjAgRXh0ZXJuYWwgTGlwOiBVcHBlciBOT1MiLAoiQzAwLjEgRXh0ZXJuYWwgTGlwOiBMb3dlciBOT1MiLAoiQzAwLjIgRXh0ZXJuYWwgTGlwOiBOT1MiLAoiQzAwLjMgTGlwOiBVcHBlciBNdWNvc2EiLAoiQzAwLjQgTGlwOiBMb3dlciBNdWNvc2EiLAoiQzAwLjUgTGlwOiBNdWNvc2EgTk9TIiwKIkMwMC42IExpcDogQ29tbWlzc3VyZSIsCiJDMDAuOCBMaXA6IE92ZXJsYXBwaW5nIiwKIkMwMC45IExpcCBOT1MiLAoiQzAxLjkgVG9uZ3VlOiBCYXNlIE5PUyIsCiJDMDIuMCBUb25ndWU6IERvcnNhbCBOT1MiLAoiQzAyLjEgVG9uZ3VlOiBCb3JkZXIsIFRpcCIsCiJDMDIuMiBUb25ndWU6IFZlbnRyYWwgTk9TIiwKIkMwMi4zIFRvbmd1ZTogQW50ZXJpb3IgTk9TIiwKIkMwMi40IExpbmd1YWwgVG9uc2lsIiwKIkMwMi44IFRvbmd1ZTogT3ZlcmxhcHBpbmciLAoiQzAyLjkgVG9uZ3VlOiBOT1MiLAoiQzAzLjAgR3VtOiBVcHBlciIsCiJDMDMuMSBHdW06IExvd2VyIiwKIkMwMy45IEd1bSBOT1MiLAoiQzA0LjAgTW91dGg6IEFudGVyaW9yIEZsb29yIiwKIkMwNC4xIE1vdXRoOiBMYXRlcmFsIEZsb29yIiwKIkMwNC44IE1vdXRoOiBPdmVybGFwcGluZyBGbG9vciIsCiJDMDQuOSBGbG9vciBvZiBNb3V0aCBOT1MiLAoiQzA1LjAgSGFyZCBQYWxhdGUiLAoiQzA1LjEgU29mdCBQYWxhdGUgTk9TIiwKIkMwNS4yIFV2dWxhIiwKIkMwNS44IFBhbGF0ZTogT3ZlcmxhcHBpbmciLAoiQzA1LjkgUGFsYXRlIE5PUyIsCiJDMDYuMCBDaGVlayBNdWNvc2EiLAoiQzA2LjEgTW91dGg6IFZlc3RpYnVsZSIsCiJDMDYuMiBSZXRyb21vbGFyIEFyZWEiLAoiQzA2LjggTW91dGg6IE90aGVyIE92ZXJsYXBwaW5nIiwKIkMwNi45IE1vdXRoIE5PUyIsCiJDMDcuOSBQYXJvdGlkIEdsYW5kIiwKICAiQzA5LjggVG9uc2lsOiBPdmVybGFwcGluZyIsCiAgIkMwOS45IFRvbnNpbCBOT1MiLAogICJDMTEuMSBOYXNvcGhhcnlueDogUG9zdGVyIFdhbGwiLCAKICAiQzE0LjIgV2FsZGV5ZXIgUmluZyIsCiAgIkMzMC4wIE5hc2FsIENhdml0eSIsCiAgIkMzNy45IFRoeW11cyIsCiJDNDIuMCBCbG9vZCIsCiAgIkM0Mi4yIFNwbGVlbiIsCiJDNDIuNCBIZW1hdG9wb2lldGljIE5PUyIsCgogI3NraW4KIkM0NC4wIFNraW4gb2YgbGlwLCBOT1MiLAoiQzQ0LjEgRXllbGlkIiwKIkM0NC4yIEV4dGVybmFsIGVhciIsCiJDNDQuMyBTa2luIG9mIGVhciBhbmQgdW5zcGVjaWZpZWQgcGFydHMgb2YgZmFjZSIsCiJDNDQuNCBTa2luIG9mIHNjYWxwIGFuZCBuZWNrIiwKIkM0NC41IFNraW4gb2YgdHJ1bmsiLAoiQzQ0LjYgU2tpbiBvZiB1cHBlciBsaW1iIGFuZCBzaG91bGRlciIsCiJDNDQuNyBTa2luIG9mIGxvd2VyIGxpbWIgYW5kIGhpcCIsCiJDNDQuOCBPdmVybGFwcGluZyBsZXNpb24gb2Ygc2tpbiIsCiJDNDQuOSBTa2luLCBOT1MiLCAKCiNicmVhc3QKIkM1MC4wIE5pcHBsZSIsCgojdnVsdmEvdmFnaW5hCiJDNTEuMCBMYWJpdW0gbWFqdXMiLAoiQzUxLjEgTGFiaXVtIG1pbnVzIiwKIkM1MS4yIENsaXRvcmlzIiwKIkM1MS44IE92ZXJsYXBwaW5nIGxlc2lvbiBvZiB2dWx2YSIsCiJDNTEuOSBWdWx2YSwgTk9TIiwKIkM1Mi45IFZhZ2luYSwgTk9TIiwKCiNwZW5pcwoiQzYwLjAgUHJlcHVjZSIsCiJDNjAuMSBHbGFucyBwZW5pcyIsCiJDNjAuMiBCb2R5IG9mIHBlbmlzIiwKIkM2MC44IE92ZXJsYXBwaW5nIGxlc2lvbiBvZiBwZW5pcyIsCiJDNjAuOSBQZW5pcyIsCiJDNjMuMiBTY3JvdHVtLCBOT1MiLAoKICAiQzc3LjAgTHltcGggTm9kZXM6IEhlYWRGYWNlTmVjayIsCiAgIkM3Ny4xIEludHJhdGhvcmFjaWMgTHltcGggTm9kZXMiLAogICJDNzcuMiBJbnRyYS1hYmRvbWluYWwgTHltcGhOb2RlcyIsCiAgIkM3Ny4zIEx5bXBoIE5vZGVzIG9mIGF4aWxsYSBvciBhcm0gIiwKICAiQzc3LjQgTHltcGggTm9kZXM6IExlZyIsCiAgIkM3Ny41IFBlbHZpYyBMeW1waCBOb2RlcyIsCiAgIkM3Ny44IEx5bXBoIE5vZGVzOiBtdWx0aXBsZSByZWdpb24iLAogICJDNzcuOSBMeW1waCBOb2RlIE5PUyIpKQoKCmRhdCA8LSBtZXJnZShkYXQsIHByaW1fc2l0ZV90ZXh0LCBieSA9ICJQUklNQVJZX1NJVEUiLCBhbGwueCA9IFRSVUUpIAoKcm0ocHJpbV9zaXRlX3RleHQpCgojIGNvbnZlcnQgbnVtZXJpYyB2YXJpYWJsZXMgZnJvbSBjaGFyYWN0ZXIgY2xhc3MgdG8gbnVtZXJpYyBjbGFzcwpudW1fdmFycyA8LSBjKCJBR0UiLCAiQ1JPV0ZMWSIsICJUVU1PUl9TSVpFIiwgIkRYX1NUQUdJTkdfUFJPQ19EQVlTIiwgIkRYX1JYX1NUQVJURURfREFZUyIsICJEWF9TVVJHX1NUQVJURURfREFZUyIsCiAgICAgICAgICAgICAgIkRYX0RFRlNVUkdfU1RBUlRFRF9EQVlTIiwgIlNVUkdfRElTQ0hBUkdFX0RBWVMiLCAiRFhfUkFEX1NUQVJURURfREFZUyIsICAiUkFEX1JFR0lPTkFMX0RPU0VfQ0dZIiwKICAgICAgICAgICAgICAiUkFEX0JPT1NUX0RPU0VfQ0dZIiwgIlJBRF9FTEFQU0VEX1JYX0RBWVMiLCAiRFhfU1lTVEVNSUNfU1RBUlRFRF9EQVlTIiwgIkRYX0NIRU1PX1NUQVJURURfREFZUyIsIAogICAgICAgICAgICAgICJEWF9IT1JNT05FX1NUQVJURURfREFZUyIsICJEWF9PVEhFUl9TVEFSVEVEX0RBWVMiLCAiRFhfTEFTVENPTlRBQ1RfREVBVEhfTU9OVEhTIiwKICAgICAgICAgICAgICAiUkFEX05VTV9UUkVBVF9WT0wiKQoKZGF0W251bV92YXJzXSA8LSBsYXBwbHkoZGF0W251bV92YXJzXSwgYXMubnVtZXJpYykKCgojIGNvbnZlcnQgZmFjdG9yIHZhcmlhYmxlcyBmcm9tIGNoYXJhY3RlciBjbGFzcyB0byBmYWN0b3IgY2xhc3MKdmFycyA8LSBuYW1lcyhkYXQpCmZhY3RfdmFycyA8LSB2YXJzWyEodmFycyAlaW4lIG51bV92YXJzKV0gIyBiYXNpY2FsbHkgYWxsIG9mIHRoZSBub24tbnVtZXJpY3MKCmRhdFtmYWN0X3ZhcnNdIDwtIGxhcHBseShkYXRbZmFjdF92YXJzXSwgYXMuY2hhcmFjdGVyKQpkYXRbZmFjdF92YXJzXSA8LSBsYXBwbHkoZGF0W2ZhY3RfdmFyc10sIGFzLmZhY3RvcikKCmRhdCA8LSBkYXQgJT4lCiAgICAgICAgbXV0YXRlKEZBQ0lMSVRZX1RZUEVfRiA9IGZjdF9yZWNvZGUoRkFDSUxJVFlfVFlQRV9DRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29tbXVuaXR5IENhbmNlciBQcm9ncmFtIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29tcHJlaGVuc2l2ZSBDb21tIENhIFByb2dyYW0iID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBY2FkZW1pYy9SZXNlYXJjaCBQcm9ncmFtIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW50ZWdyYXRlZCBOZXR3b3JrIENhIFByb2dyYW0iID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPdGhlciIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoRkFDSUxJVFlfTE9DQVRJT05fRiA9IGZjdF9yZWNvZGUoRkFDSUxJVFlfTE9DQVRJT05fQ0QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5ldyBFbmdsYW5kIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWlkZGxlIEF0bGFudGljIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU291dGggQXRsYW50aWMiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFYXN0IE5vcnRoIENlbnRyYWwiID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFYXN0IFNvdXRoIENlbnRyYWwiID0gIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXZXN0IE5vcnRoIENlbnRyYWwiID0gIjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXZXN0IFNvdXRoIENlbnRyYWwiID0gIjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNb3VudGFpbiIgPSAiOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBhY2lmaWMiID0gIjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvdXQgb2YgVVMiID0gIjAiKSkgJT4lCiAgICAgICAgbXV0YXRlKEZBQ0lMSVRZX0dFT0dSQVBIWSA9IGZjdF9jb2xsYXBzZShGQUNJTElUWV9MT0NBVElPTl9DRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb3J0aGVhc3QiID0gYygiMSIsICIyIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU291dGgiID0gYygiMyIsICI3IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWlkd2VzdCIgPSBjKCI0IiwgIjUiLCAiNiIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldlc3QiID0gYygiOCIsICI5IikpKSAlPiUKICAgICAgICBtdXRhdGUoQUdFX0YgPSBjdXQoQUdFLCBjKDAsIDU0LCA2NCwgNzQsIDEwMCkpKSAlPiUKICAgICAgICBtdXRhdGUoQUdFXzQwID0gY3V0KEFHRSwgYygwLCA0MCwgMTAwKSkpICU+JQogICAgICAgIG11dGF0ZShTRVhfRiA9IGZjdF9yZWNvZGUoU0VYLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNYWxlIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmVtYWxlIiA9ICIyIikpICU+JQogICAgICAgIG11dGF0ZShSQUNFX0YgPSBmY3RfY29sbGFwc2UoUkFDRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2hpdGUiID0gYygiMDEiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQmxhY2siID0gYygiMDIiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXNpYW4iID0gYygiMDQiLCAiMDUiLCAiMDYiLCAiMDciLCAiMDgiLCAiMTAiLCAiMTEiLCAiMTIiLCAiMTMiLCAiMTQiLCAiMTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxNiIsICIxNyIsICIyMCIsICIyMSIsICIyMiIsICIyNSIsICIyNiIsICIyNyIsICIyOCIsICIzMCIsICIzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjMyIiwgIjk2IiwgIjk3IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk90aGVyL1VuayIgPSBjKCIwMyIsICI5OCIsICI5OSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKEhJU1BBTklDID0gZmN0X2NvbGxhcHNlKFNQQU5JU0hfSElTUEFOSUNfT1JJR0lOLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiWWVzIiA9IGMoIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8iID0gYygiMCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSBjKCI5IikpKSAlPiUKICAgICAgICBtdXRhdGUoSU5TVVJBTkNFX0YgPSBmY3RfcmVjb2RlKElOU1VSQU5DRV9TVEFUVVMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vbmUiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQcml2YXRlIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWVkaWNhaWQiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNZWRpY2FyZSIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk90aGVyIEdvdmVybm1lbnQiID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShJTlNVUkFOQ0VfRiA9IGZjdF9yZWxldmVsKElOU1VSQU5DRV9GLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQcml2YXRlIikpICU+JQogICAgICAgIG11dGF0ZShJTkNPTUVfRiA9IGZjdF9yZWNvZGUoTUVEX0lOQ19RVUFSXzEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMZXNzIHRoYW4gJDM4LDAwMCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiQzOCwwMDAgLSAkNDcsOTk5IiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJDQ4LDAwMCAtICQ2Miw5OTkiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkNjMsMDAwICsiID0gIjQiKSkgJT4lCiAgICAgICAgbXV0YXRlKEVEVUNBVElPTl9GID0gZmN0X3JlY29kZShOT19IU0RfUVVBUl8xMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIyMSUgb3IgbW9yZSIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMTMgLSAyMC45JSIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNyAtIDEyLjklIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMZXNzIHRoYW4gNyUiID0gIjQiKSkgJT4lCiAgICAgICAgbXV0YXRlKFVfUl9GID0gZmN0X2NvbGxhcHNlKFVSX0NEXzEzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWV0cm8iID0gYygiMSIsICIyIiwgIjMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVyYmFuIiA9IGMoIjQiLCAiNSIsICI2IiwgIjciKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJ1cmFsIiA9IGMoIjgiLCAiOSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKENMQVNTX09GX0NBU0VfRiA9IGZjdF9jb2xsYXBzZShDTEFTU19PRl9DQVNFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsX1BhcnRfUHJpbSA9IGMoIjEwIiwgIjExIiwgIjEyIiwgIjEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxNCIsICIyMCIsICIyMSIsICIyMiIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3RoZXJfRmFjaWxpdHkgPSBjKCIwMCIpKSkgJT4lCiAgICAgICAgbXV0YXRlKEdSQURFX0YgPSBmY3RfcmVjb2RlKEdSQURFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdyIEk6IFdlbGwgRGlmZiIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR3IgSUk6IE1vZCBEaWZmIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHciBJSUk6IFBvb3IgRGlmZiIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR3IgSVY6IFVuZGlmZi9BbmFwbGFzdGljIiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOQS9Vbmtvd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKEhJU1RPTE9HWV9GID0gZmN0X2luZnJlcShISVNUT0xPR1kpKSAlPiUKICAgICAgICBtdXRhdGUoSElTVE9MT0dZX0YgPSBmYWN0b3IoSElTVE9MT0dZX0YpKSAlPiUKICAgICAgICBtdXRhdGUoSElTVE9MT0dZX0ZfTElNID0gZmN0X2x1bXAoSElTVE9MT0dZX0YsIHByb3AgPSAwLjA1KSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9DTElOX1QgPSBmY3RfcmVjb2RlKFROTV9DTElOX1QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fQ0xJTl9UID0gZmN0X3JlbGV2ZWwoVE5NX0NMSU5fVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxIikpICU+JQogICAgICAgIG11dGF0ZShUTk1fQ0xJTl9OID0gZmN0X3JlY29kZShUTk1fQ0xJTl9OLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX0NMSU5fTSA9IGZjdF9yZWNvZGUoVE5NX0NMSU5fTSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9QQVRIX1QgPSBmY3RfcmVjb2RlKFROTV9QQVRIX1QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fUEFUSF9UID0gZmN0X3JlbGV2ZWwoVE5NX1BBVEhfVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxIikpICU+JQogICAgICAgIG11dGF0ZShUTk1fUEFUSF9OID0gZmN0X3JlY29kZShUTk1fUEFUSF9OLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX1BBVEhfTSA9IGZjdF9yZWNvZGUoVE5NX1BBVEhfTSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9DTElOX1NUQUdFX0dST1VQID0gZmN0X3JlY29kZShUTk1fQ0xJTl9TVEFHRV9HUk9VUCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9QQVRIX1NUQUdFX0dST1VQID0gZmN0X3JlY29kZShUTk1fUEFUSF9TVEFHRV9HUk9VUCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKE1BUkdJTlMgPSBmY3RfcmVjb2RlKFJYX1NVTU1fU1VSR0lDQUxfTUFSR0lOUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFJlc2lkdWFsIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlc2lkdWFsLCBOT1MiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWljcm9zY29waWMgUmVzaWQiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWFjcm9zY29waWMgUmVzaWQiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm90IGV2YWx1YWJsZSIgPSAiNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBzdXJnIiA9ICI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKE1BUkdJTlNfWU4gPSBmY3RfY29sbGFwc2UoUlhfU1VNTV9TVVJHSUNBTF9NQVJHSU5TLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZZXMiID0gYygiMSIsICIyIiwgIjMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8iID0gYygiMCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBzdXJnL1Vuay9OQSIgPSBjKCI3IiwgIjgiLCAiOSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKFJFQURNX0hPU1BfMzBfREFZU19GID0gZmN0X3JlY29kZShSRUFETV9IT1NQXzMwX0RBWVMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9fU3VyZ19vcl9Ob19SZWFkbWl0IiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbnBsYW5fUmVhZG1pdF9TYW1lIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQbGFuX1JlYWRtaXRfU2FtZSIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGxhblVucGxhbl9TYW1lIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI0IikpICU+JQogICAgICAgIG11dGF0ZShSWF9TVU1NX1JBRElBVElPTl9GID0gZmN0X3JlY29kZShSWF9TVU1NX1JBRElBVElPTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vbmUiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQmVhbSBSYWRpYXRpb24iID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkaW9hY3RpdmUgSW1wbGFudHMiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkaW9pc290b3BlcyIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCZWFtICsgSW1wIG9yIElzb3RvcGVzIiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZGlhdGlvbiwgTk9TIiA9ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKFBVRl8zMF9EQVlfTU9SVF9DRF9GID0gZmN0X3JlY29kZShQVUZfMzBfREFZX01PUlRfQ0QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQWxpdmVfMzAiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRlYWRfMzAiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKFBVRl85MF9EQVlfTU9SVF9DRF9GID0gZmN0X3JlY29kZShQVUZfOTBfREFZX01PUlRfQ0QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQWxpdmVfOTAiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRlYWRfOTAiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKExZTVBIX1ZBU0NVTEFSX0lOVkFTSU9OX0YgPSBmY3RfcmVjb2RlKExZTVBIX1ZBU0NVTEFSX0lOVkFTSU9OLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTmVnX0x5bXBoVmFzY19JbnYiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUG9zX0x1bXBoVmFzY19JbnYiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKFJYX0hPU1BfU1VSR19BUFBSXzIwMTBfRiA9IGZjdF9yZWNvZGUoUlhfSE9TUF9TVVJHX0FQUFJfMjAxMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9fU3VyZyIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJvYm90X0Fzc2lzdCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJvYm90X3RvX09wZW4iID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFbmRvX0xhcCIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVuZG9fTGFwX3RvX09wZW4iID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPcGVuX1Vua25vd24iID0gIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShBbGwgPSAiQWxsIikgJT4lCiAgICAgICAgbXV0YXRlKEFsbCA9IGZhY3RvcihBbGwpKSAlPiUKICAgICAgICBtdXRhdGUoUkVBU09OX0ZPUl9OT19TVVJHRVJZX0YgPSBmY3RfcmVjb2RlKFJFQVNPTl9GT1JfTk9fU1VSR0VSWSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHBlcmZvcm1lZCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyBub3QgcmVjb21tZW5kZWQiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIHN1cmcgZHVlIHRvIHB0IGZhY3RvcnMiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIHN1cmcsIHB0IGRpZWQiID0gIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgcmVjLCBub3QgZG9uZSIgPSAiNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyByZWMsIHB0IHJlZnVzZWQiID0gIjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgcmVjLCB1bmsgaWYgZG9uZSIgPSAiOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR0VSWV9ZTiA9IGlmZWxzZShSRUFTT05fRk9SX05PX1NVUkdFUlkgPT0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSRUFTT05fRk9SX05PX1NVUkdFUlkgPT0gIjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVWtuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIikpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR19URiA9IGNhc2Vfd2hlbihTVVJHRVJZX1lOID09ICJZZXMiIH4gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVVJHRVJZX1lOID09ICJObyIgfiBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFIH4gTkEpKSAgJT4lCiAgICAgICAgbXV0YXRlKFJFQVNPTl9GT1JfTk9fUkFESUFUSU9OX0YgPSBmY3RfcmVjb2RlKFJFQVNPTl9GT1JfTk9fUkFESUFUSU9OLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBwZXJmb3JtZWQiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBub3QgcmVjb21tZW5kZWQiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFJhZCBkdWUgdG8gcHQgZmFjdG9ycyIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gUmFkLCBwdCBkaWVkIiA9ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgcmVjLCBub3QgZG9uZSIgPSAiNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHJlYywgcHQgcmVmdXNlZCIgPSAiNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHJlYywgdW5rIGlmIGRvbmUiID0gIjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKFJBRElBVElPTl9ZTiA9IGlmZWxzZShSRUFTT05fRk9SX05PX1JBRElBVElPTiA9PSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJFQVNPTl9GT1JfTk9fUkFESUFUSU9OID09ICI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyIpKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdSQURfU0VRX0YgPSBmY3RfcmVjb2RlKFJYX1NVTU1fU1VSR1JBRF9TRVEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb25lIG9yIFN1cmcgb3IgUmFkIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBiZWZvcmUgU3VyZyIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIGJlZm9yZSBSYWQiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIGJlZm9yZSBhbmQgYWZ0ZXIgU3VyZyIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnRyYW9wIFJhZCIgPSAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnRyYW9wIFJhZCBwbHVzIG90aGVyIiA9ICI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdfUkFEX1NFUSA9IGlmZWxzZShTVVJHRVJZX1lOID09ICJZZXMiICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyBBbG9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUkFESUFUSU9OX1lOID09ICJZZXMiICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBBbG9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFNVUkdFUllfWU4gPT0gIk5vIiAmIFJBRElBVElPTl9ZTiA9PSAiTm8iICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBUcmVhdG1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHRoZW4gU3VyZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgdGhlbiBSYWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBiZWZvcmUgYW5kIGFmdGVyIFN1cmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3RoZXIiKSkpKSkpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR19SQURfU0VRID0gZmN0X3JlbGV2ZWwoU1VSR19SQURfU0VRLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyBBbG9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHRoZW4gUmFkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBBbG9uZSIpKSAlPiUKICAgICAgICBtdXRhdGUoQ0hFTU9fWU4gPSBmY3RfY29sbGFwc2UoUlhfU1VNTV9DSEVNTywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIiA9IGMoIjAwIiwgIjgyIiwgIjg1IiwgIjg2IiwgIjg3IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZZXMiID0gYygiMDEiLCAiMDIiLCAiMDMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVrbiIgPSBjKCI4OCIsICI5OSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdfUkFEX1NFUV9DID0gaWZlbHNlKFNVUkdFUllfWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZywgTm8gcmFkLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUkFESUFUSU9OX1lOID09ICJZZXMiICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIgJiBDSEVNT19ZTiA9PSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQsIE5vIFN1cmcsIE5vIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiTm8iICYgUkFESUFUSU9OX1lOID09ICJObyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBTdXJnLCBObyBSYWQsIE5vIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjIiICYgQ0hFTU9fWU4gPT0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgdGhlbiBTdXJnLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMyIgJiBDSEVNT19ZTiA9PSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHRoZW4gUmFkLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjQiICYgQ0hFTU9fWU4gPT0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBiZWZvcmUgYW5kIGFmdGVyIFN1cmcsIE5vIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiWWVzIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiICYgQ0hFTU9fWU4gPT0gIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnLCBObyByYWQsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSQURJQVRJT05fWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCwgTm8gU3VyZywgWWVzIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShTVVJHRVJZX1lOID09ICJObyIgJiBSQURJQVRJT05fWU4gPT0gIk5vIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiICYgQ0hFTU9fWU4gPT0gIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFN1cmcsIE5vIFJhZCwgWWVzIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMiIgJiBDSEVNT19ZTiA9PSAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCB0aGVuIFN1cmcsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICIzIiAmIENIRU1PX1lOID09ICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgdGhlbiBSYWQsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiNCIgJiBDSEVNT19ZTiA9PSAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIGJlZm9yZSBhbmQgYWZ0ZXIgU3VyZywgWWVzIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3RoZXIiKSkpKSkpKSkpKSkpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR19SQURfU0VRX0MgPSBmY3RfaW5mcmVxKFNVUkdfUkFEX1NFUV9DKSkgJT4lCiAgICAgICAgbXV0YXRlKFRfU0laRSA9IGFzLm51bWVyaWMoVFVNT1JfU0laRSkpICU+JQogICAgICAgIG11dGF0ZShUX1NJWkUgPSBpZmVsc2UoVF9TSVpFID09IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFR1bW9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID4gMCAmIFRfU0laRSA8IDEwIHwgVF9TSVpFID09IDk5MSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjwgMSBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gMTAgJiBUX1NJWkUgPCAyMCB8IFRfU0laRSA9PSA5OTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMS0yIGNtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gMjAgJiBUX1NJWkUgPCAzMCB8IFRfU0laRSA9PSA5OTMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjItMyBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA+PSAzMCAmIFRfU0laRSA8IDQwIHwgVF9TSVpFID09IDk5NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjMtNCBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gNDAgJiBUX1NJWkUgPCA1MCB8IFRfU0laRSA9PSA5OTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNC01IGNtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gNTAgJiBUX1NJWkUgPCA2MCB8IFRfU0laRSA9PSA5OTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjUtNiBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA+PSA2MCAmIFRfU0laRSA8PSA5ODcgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRfU0laRSA9PSA5ODAgfCBUX1NJWkUgPT0gOTg5IHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUX1NJWkUgPT0gOTk3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI+NiBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA9PSA5ODggfCBUX1NJWkUgPT0gOTk5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTkFfdW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1pY3Jvc2NvcGljIGZvY3VzIikpKSkpKSkpKSkgJT4lCiAgICAgICAgbXV0YXRlKFRfU0laRSA9IGZhY3RvcihUX1NJWkUpKSAlPiUKICAgICAgICBtdXRhdGUoVF9TSVpFID0gZmN0X3JlbGV2ZWwoVF9TSVpFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFR1bW9yIiwgIk1pY3Jvc2NvcGljIGZvY3VzIiwgIjwgMSBjbSIsICIxLTIgY20iLCAiMi0zIGNtIiwgIjMtNCBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI0LTUgY20iLCAiNS02IGNtIiwgIj42IGNtIiwgIk5BX3VuayIpKSAlPiUKICAgICAgICBtdXRhdGUobWV0c19hdF9keCA9IGNhc2Vfd2hlbihDU19NRVRTX0RYX0xVTkcgPT0gIjEiIH4gIkx1bmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENTX01FVFNfRFhfQk9ORSA9PSAiMSIgfiAiQm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NfTUVUU19EWF9CUkFJTiA9PSAiMSIgfiAiQnJhaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENTX01FVFNfRFhfTElWRVIgPT0gIjEiIH4gIkxpdmVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFIH4gIk5vbmUvT3RoZXIvVW5rL05BIikpICU+JQogICAgICAgIG11dGF0ZShNRURJQ0FJRF9FWFBOX0NPREUgPSBmY3RfcmVjb2RlKE1FRElDQUlEX0VYUE5fQ09ERSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9uLUV4cGFuc2lvbiBTdGF0ZSIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkphbiAyMDE0IEV4cGFuc2lvbiBTdGF0ZXMiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFYXJseSBFeHBhbnNpb24gU3RhdGVzICgyMDEwLTEzKSIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxhdGUgRXhwYW5zaW9uIFN0YXRlcyAoPiBKYW4gMjAxNCkiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXBwcmVzc2VkIGZvciBBZ2VzIDAgLSAzOSIgPSAiOSIpKSAgJT4lCiAgICAgICAgbXV0YXRlKEVYUE5fR1JPVVAgPSAgY2FzZV93aGVuKE1FRElDQUlEX0VYUE5fQ09ERSAgJWluJSBjKCJKYW4gMjAxNCBFeHBhbnNpb24gU3RhdGVzIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIGMoIjIwMTQiLCAiMjAxNSIpIH4gIlBvc3QtRXhwYW5zaW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSAgJWluJSBjKCJKYW4gMjAxNCBFeHBhbnNpb24gU3RhdGVzIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjKCIyMDA0IiwgIjIwMDUiLCAiMjAwNiIsICIyMDA3IiwgIjIwMDgiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMjAwOSIsICIyMDEwIiwgIjIwMTEiLCAiMjAxMiIsICIyMDEzIikgfiAiUHJlLUV4cGFuc2lvbiIsCiAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgICVpbiUgYygiRWFybHkgRXhwYW5zaW9uIFN0YXRlcyAoMjAxMC0xMykiKSAmIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlFQVJfT0ZfRElBR05PU0lTICVpbiUgYygiMjAxMCIsICIyMDExIiwgIjIwMTIiLCAiMjAxMyIsICIyMDE0IiwgIjIwMTUiKSB+ICJQb3N0LUV4cGFuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUNBSURfRVhQTl9DT0RFICAlaW4lIGMoIkVhcmx5IEV4cGFuc2lvbiBTdGF0ZXMgKDIwMTAtMTMpIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIGMoIjIwMDQiLCAiMjAwNSIsICIyMDA2IiwgIjIwMDciLCAiMjAwOCIsICIyMDA5IikgfiAiUHJlLUV4cGFuc2lvbiIsCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgJWluJSBjKCJOb24tRXhwYW5zaW9uIFN0YXRlIikgfiAiUHJlLUV4cGFuc2lvbiIsCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgJWluJSBjKCJMYXRlIEV4cGFuc2lvbiBTdGF0ZXMgKD4gSmFuIDIwMTQpIikgfiAiUHJlLUV4cGFuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSAlaW4lIGMoIkxhdGUgRXhwYW5zaW9uIFN0YXRlcyAoPiBKYW4gMjAxNCkiKSAmIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWUVBUl9PRl9ESUFHTk9TSVMgJWluJSBjKCIyMDE0IiwgIjIwMTUiKSB+ICJFeGNsdWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSA9PSAiU3VwcHJlc3NlZCBmb3IgQWdlcyAwIC0gMzkiIH4gIkV4Y2x1ZGUiKSkgJT4lCiAgCiAgbXV0YXRlKHByZV8yMDE0ID0gWUVBUl9PRl9ESUFHTk9TSVMgJWluJSBjKCIyMDA0IiwgIjIwMDUiLCAiMjAwNiIsICIyMDA3IiwgIjIwMDgiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMjAwOSIsICIyMDEwIiwgIjIwMTEiLCAiMjAxMiIsICIyMDEzIikpICU+JQogIAogIG11dGF0ZShtZXRzX2F0X2R4X0YgPSBpZmVsc2UobWV0c19hdF9keCA9PSAiTm9uZS9PdGhlci9VbmsvTkEiLCBGQUxTRSwgVFJVRSkpICU+JSAKICAKICBtdXRhdGUoVHhfWU4gPSBpZmVsc2UoU1VSR19SQURfU0VRID09ICJObyBUcmVhdG1lbnQiICYgQ0hFTU9fWU4gPT0gIk5vIiwgRkFMU0UsIAogICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoQ0hFTU9fWU4gPT0gIlVrbiIsIE5BLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUpKSkKCmZhY3RfdmFyc18yIDwtIGMoIkZBQ0lMSVRZX1RZUEVfRiIsICJGQUNJTElUWV9MT0NBVElPTl9GIiwgIkFHRV9GIiwgIlNFWF9GIiwgIlJBQ0VfRiIsCiAgICAgICAgICAgICAgICAgIkhJU1BBTklDIiwgIklOU1VSQU5DRV9GIiwgIklOQ09NRV9GIiwgIkVEVUNBVElPTl9GIiwgIlVfUl9GIiwKICAgICAgICAgICAgICAgICAiQ0RDQ19UT1RBTF9CRVNUIiwgIkNMQVNTX09GX0NBU0VfRiIsICJZRUFSX09GX0RJQUdOT1NJUyIsICJQUklNQVJZX1NJVEUiLCAiSElTVE9MT0dZIiwKICAgICAgICAgICAgICAgICAiQkVIQVZJT1IiLCAiR1JBREVfRiIsICJUTk1fQ0xJTl9UIiwgIlROTV9DTElOX04iLCAiVE5NX0NMSU5fTSIsCiAgICAgICAgICAgICAgICAgIlROTV9DTElOX1NUQUdFX0dST1VQIiwgIlROTV9QQVRIX1QiLCAiVE5NX1BBVEhfTiIsICJUTk1fUEFUSF9NIiwgIlROTV9QQVRIX1NUQUdFX0dST1VQIiwKICAgICAgICAgICAgICAgICAiTUFSR0lOUyIsICJSRUFETV9IT1NQXzMwX0RBWVNfRiIsICJSWF9TVU1NX1JBRElBVElPTl9GIiwgIlBVRl8zMF9EQVlfTU9SVF9DRF9GIiwKICAgICAgICAgICAgICAgICAiUFVGXzkwX0RBWV9NT1JUX0NEX0YiLCAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT05fRiIsICJSWF9IT1NQX1NVUkdfQVBQUl8yMDEwX0YiLCAibWV0c19hdF9keCIpCgoKZGF0IDwtIGRhdCAlPiUKICAgICAgICBtdXRhdGVfYXQoZmFjdF92YXJzXzIsIGZ1bnMoZmFjdG9yKC4pKSkKCmBgYAoKCiMgRXh0cmFjdCBEYXRhIG9mIEludGVyZXN0CgpgYGB7cn0KCgojIE5vbi1Ib2Rna2luIEx5bXBob21hIFNpdGVzCnNpdGVfY29kZSA8LSBjKCJDMDAxIiwiQzA5OCIsICJDMDk5IiwgIkMxMTEiLCAiQzE0MiIsICJDMzc5IiwgIkM0MjIiLCJDNzcwIiwKIkM3NzEiLCJDNzcyIiwiQzc3MyIsIkM3NzQiLCAiQzc3NSIsICJDNzc4IiwiQzc3OSIsIAojYWRkaXRpb25hbCBzaXRlcwoiQzMwMCIsICJDMDE5IiwgIkMwMjEiLCAKIkMwMjkiLCAiQzAzMCIsICJDMDM5IiwgIkMwNDkiLCAiQzA1MCIsICJDMDUxIiwgIkMwNTIiLCAgIkMwNTgiLCAiQzA1OSIsICJDMDYwIiwKIkMwNjEiLCAiQzA2OSIsICJDMDAwIiwgIkMwMDEiLCAiQzAwMiIsICJDMDAzIiwgIkMwMDQiLCAiQzAwNSIsICJDMDA2IiwgIkMwMDgiLAoiQzAwOSIsICJDMDE5IiwgIkMwMjAiLCAiQzAyMSIsICJDMDIyIiwgIkMwMjMiLCAiQzAyNCIsICJDMDI4IiwgIkMwMjkiLCAiQzAzMCIsCiJDMDMxIiwgIkMwMzkiLCAiQzA0MCIsICJDMDQxIiwgIkMwNDkiLCAiQzA1MCIsICJDMDUxIiwgIkMwNTIiLCAiQzA1OCIsICJDMDU5IiwKIkMwNjAiLCAiQzA2MSIsICJDMDYyIiwgIkMwNjgiLCAiQzA2OSIsICJDMDc5IiwKICNsaXAgIAogICJDMDAwIiwgIkMwMDEiLCAiQzAwMiIsICJDMDAzIiwgIkMwMDQiLCAiQzAwNSIsIkMwMDYiLCAiQzAwOCIsIkMwMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAojc2tpbi9tZWxhbm9tYQogICJDNDQwIiwgIkM0NDEiLCAiQzQ0MiIsICJDNDQzIiwgIkM0NDQiLCAiQzQ0NSIsICJDNDQ2IiwgIkM0NDciLCAiQzQ0OCIsICJDNDQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAjYnJlYXN0IC0gbmlwcGxlCiAgIkM1MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKI3ZhZ2luYS92dWx2YQogICJDNTEwIiwgIkM1MTEiLCAiQzUxMiIsICJDNTE4IiwgIkM1MTkiLCAiQzUyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAojcGVuaXMKICJDNjAwIiwgIkM2MDEiLCAiQzYwMiIsICJDNjA4IiwgIkM2MDkiLCAiQzYzOSIpCgojbXljb3NpcyBmdW5nb2lkZXMsIFNlemFyeSBzeW5kcm9tZSwgc3ViY3V0YW5lb3VzIHBhbm5pY3VsaXRpcy1saWtlIFQtY2VsbCBseW1waG9tYSwKI2N1dGFuZW91cyBULWNlbGwgbHltcGhvbWEsIE5PUywgcHJpbWFyeSBjdXRhbmVvdXMgQ0QzMCtULWNlbGwgbHltcGhvbWEsIAojTksvVC1jZWxsIGx5bXBob21hLCBwcmltYXJ5IGN1dGFuZW91cyBnYW1tYS1kZWx0YSBULWNlbGwgbHltcGhvbWEsIAojYW5kIGJsYXN0aWMgTksgY2VsbCBseW1waG9tYSwgcmVzcGVjdGl2ZWx5Cmhpc3RvX2NvZGUgPC0gYygiOTcwMCIsICI5NzAxIiwgIjk3MDgiLCAiOTcwOSIsICI5NzE4IiwgIjk3MTkiLCAiOTcyNiIsICI5NzI3IikKCmJlaGF2aW9yX2NvZGUgPC0gYygiMyIpCgpkYXRhIDwtIGRhdCAlPiUKICAgICAgICBmaWx0ZXIoQkVIQVZJT1IgJWluJSBiZWhhdmlvcl9jb2RlKSAlPiUKICAgICAgICBmaWx0ZXIoUFJJTUFSWV9TSVRFICVpbiUgc2l0ZV9jb2RlKSAlPiUKICAgICAgICBmaWx0ZXIoSElTVE9MT0dZICVpbiUgaGlzdG9fY29kZSkgJT4lCiAgICAgICAgI2ZpbHRlcihBR0UgPj0gMTgpICU+JQogICAgICAgIGZpbHRlcihpcy5uYShQVUZfVklUQUxfU1RBVFVTKSA9PSBGQUxTRSkgJT4lCiAgICAgICAgZmlsdGVyKGlzLm5hKERYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUykgPT0gRkFMU0UpICAlPiUKICAgICAgICBmaWx0ZXIoU0VRVUVOQ0VfTlVNQkVSID09ICIwMCIpIAoKI2ZpbGVfcGF0aCA8LSBjKCIvVXNlcnMvYmVhc3RhdGxpZmUvR29vZ2xlIERyaXZlL1Blbm4vUmVzZWFyY2gvQmFyYmllcmkvTkNEQiIpCiNzYXZlKGRhdGEsCiMgICAgICBmaWxlID0gcGFzdGUwKGZpbGVfcGF0aCwgIi9DVENMX2RhdGEuUmRhIikpCmBgYAoKYGBge3IgbG9hZERhdGF9CiNsb2FkKCJNRl9kYXRhLlJkYSIpCmBgYAoKCkRhdGEgaW5jbHVkaW5nIHNraW4gdHVtb3JzIHdhcyBvYnRhaW5lZCBmcm9tIHRoZSBOQ0JEIG9uIE9jdG9iZXIgNywgMjAxOS4gQ2FzZXMgdGhhdCB3ZXJlIGluY2x1ZGVkIGluIHRoaXMgYW5hbHlzaXMgd2VyZSB0aG9zZSB3aXRoOgoKMS4gU2l0ZSBjb2RlczogYHIgc2l0ZV9jb2RlYAoyLiBIaXN0b2xvZ3kgY29kZXM6IGByIGhpc3RvX2NvZGVgCjMuIEJlaGF2aW9yIGNvZGVzOiBgciBiZWhhdmlvcl9jb2RlYAoKClBhdGllbnRzIHdlcmUgZXhjbHVkZWQgaWYgdGhleSBkaWRuJ3QgaGF2ZSB2YWx1ZXMgZm9yIGVpdGhlciBmb2xsb3cgdXAgb3Igdml0YWwgc3RhdHVzLgoKUGF0aWVudHMgd2VyZSBleGNsdWRlZCBpZiB0aGV5IGhhZCBzdXJnZXJ5IHRvIGEgZGlzdGFudCBzaXRlIHVzaW5nIGBSWF9TVU1NX1NVUkdfT1RIX1JFR0RJU2AuIFRoaXMgd2FzIGRvbmUgdG8gYXZvaWQgY29uZm91bmRpbmcgb2YgZGlmZmVyZW50IHN1cmdpY2FsIHByb2NlZHVyZXMuIFdlIGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gc3VyZ2VyeSBhdCB0aGUgcHJpbWFyeSBzaXRlLiBUaGVzZSBkaXN0YW50IHNpdGUgc3VyZ2VyaWVzIHdlcmUgYmVpbmcgY291bnRlZCBpbiB0aGUgc3VyZ2VyeS9yYWRpYXRpb24gc2VxdWVuY2UgYW5kIHRodXMgdG8gc2ltcGxpZnkgYW5hbHlzaXMgdGhleSB3ZXJlIHJlbW92ZWQuIAoKYGBge3J9CgpkYXRhICU+JQogICAgICAgIENyZWF0ZVRhYmxlT25lKGRhdGEgPSAuLAogICAgICAgICAgICAgICAgICAgICB2YXJzID0gYygiUlhfU1VNTV9TVVJHX09USF9SRUdESVMiKSwKICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZU5BID0gVFJVRSkgJT4lCiAgICAgICAgcHJpbnQoLiwKICAgICAgICAgICAgICBzaG93QWxsTGV2ZWxzID0gVFJVRSkKCmRhdGEgPC0gZGF0YSAlPiUKICAgICAgICBmaWx0ZXIoUlhfU1VNTV9TVVJHX09USF9SRUdESVMgPT0gIjAiKSAKYGBgCgoKUmFjZSB3YXMgZ3JvdXBlZCBhcyB3aGl0ZSwgYmxhY2ssIGFzaWFuLCBvdGhlci91bmtub3duClN0YWdlIHdhcyBncm91cGVkIGludG8gMCwgSSwgSUksIElJSSwgSVYsIE5BX1Vua25vd24sIHN0YWdlIDAgd2FzIHJlbW92ZWQKV2hldGhlciBzdXJnZXJ5IHdhcyBwZXJmb3JtZWQgd2FzIGJhc2VkIG9uIHRoZSBgUkVBU09OX0ZPUl9OT19TVVJHRVJZYCB2YXJpYWJsZS4gVGhlIGBTVVJHRVJZX1lOYCB2YXJpYWJsZSB3YXMgY2xhc3NpZmllZCBhcyAnWWVzJywgJ05vJywgb3IgJ1Vua25vd24nLgoKCldoZXRoZXIgcmFkaWF0aW9uIHdhcyBwZXJmb3JtZWQgd2FzIGJhc2VkIG9uIHRoZSBgUkVBU09OX0ZPUl9OT19SQURJQVRJT05gIHZhcmlhYmxlLiBUaGUgYFJBRElBVElPTl9ZTmAgdmFyaWFibGUgd2FzIGNsYXNzaWZpZWQgYXMgJ1llcycsICdObycsIG9yICdVbmtub3duJy4KCgoKI1RhYmxlIG9mIHZhcmlhYmxlcyBmb3IgYWxsIGNhc2VzOgoKCgpgYGB7cn0KcF90YWJsZShkYXRhLAogICAgICAgIHZhcnMgPSBjKCJGQUNJTElUWV9UWVBFX0YiLCAiRkFDSUxJVFlfTE9DQVRJT05fRiIsICJGQUNJTElUWV9HRU9HUkFQSFkiLCAgIkFHRSIsICJBR0VfRiIsICJBR0VfNDAiLAogICAgICAgICAgICAgICAgICJTRVhfRiIsICJSQUNFX0YiLCAiSElTUEFOSUMiLCAiSU5TVVJBTkNFX0YiLCAKICAgICAgICAgICAgICAgICAiSU5DT01FX0YiLCAiRURVQ0FUSU9OX0YiLCAiVV9SX0YiLCAiQ1JPV0ZMWSIsICJDRENDX1RPVEFMX0JFU1QiLAogICAgICAgICAgICAgICAgICJTSVRFX1RFWFQiLCAiQkVIQVZJT1IiLCAiR1JBREVfRiIsCiAgICAgICAgICAgICAgICAgIkRYX1NUQUdJTkdfUFJPQ19EQVlTIiwgIlROTV9DTElOX1QiLCAiVE5NX0NMSU5fTiIsICJUTk1fQ0xJTl9NIiwKICAgICAgICAgICAgICAgICAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCAiVE5NX1BBVEhfVCIsICJUTk1fUEFUSF9OIiwgIlROTV9QQVRIX00iLAogICAgICAgICAgICAgICAgICJUTk1fUEFUSF9TVEFHRV9HUk9VUCIsICJEWF9SWF9TVEFSVEVEX0RBWVMiLCAiRFhfU1VSR19TVEFSVEVEX0RBWVMiLAogICAgICAgICAgICAgICAgICJEWF9ERUZTVVJHX1NUQVJURURfREFZUyIsICJNQVJHSU5TIiwgIk1BUkdJTlNfWU4iLCAiU1VSR19ESVNDSEFSR0VfREFZUyIsCiAgICAgICAgICAgICAgICAgIlJFQURNX0hPU1BfMzBfREFZU19GIiwgIlJYX1NVTU1fUkFESUFUSU9OX0YiLCAiUFVGXzMwX0RBWV9NT1JUX0NEX0YiLAogICAgICAgICAgICAgICAgICJQVUZfOTBfREFZX01PUlRfQ0RfRiIsICJEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMiLCAKICAgICAgICAgICAgICAgICAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT05fRiIsICJSWF9IT1NQX1NVUkdfQVBQUl8yMDEwX0YiLCAiU1VSR19SQURfU0VRIiwKICAgICAgICAgICAgICAgICAiU1VSR19SQURfU0VRX0MiLCAiU1VSR0VSWV9ZTiIsICJSQURJQVRJT05fWU4iLCAiQ0hFTU9fWU4iLCAibWV0c19hdF9keCIsCiAgICAgICAgICAgICAgICAgIk1FRElDQUlEX0VYUE5fQ09ERSIsICJFWFBOX0dST1VQIikpCmBgYAoKYGBge3J9CgpwcmVFeHBNZWRpY2FyZSAgPC0gbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUHJlLUV4cGFuc2lvbiIgJiBJTlNVUkFOQ0VfRiA9PSAiTWVkaWNhcmUiKSkKcG9zdEV4cE1lZGljYXJlIDwtIG5yb3coZGF0YSAlPiUgZmlsdGVyKEVYUE5fR1JPVVAgPT0gIlBvc3QtRXhwYW5zaW9uIiAmIElOU1VSQU5DRV9GID09ICJNZWRpY2FyZSIpKQoKIyBwID0gMC4yNSB3aGVuIGNvbXBhcmluZyBjaGFuZ2UgaW4gcHJvcG9ydGlvbiBvZiBwYXRpZW50cyB3aXRoIE1lZGljYXJlIGJlZm9yZSBhbmQgYWZ0ZXIgQUNBIGV4cGFuc2lvbgpwcm9wLnRlc3QoYyhwcmVFeHBNZWRpY2FyZSwgcG9zdEV4cE1lZGljYXJlKSwgCiAgICAgICAgICBjKG5yb3coZGF0YSAlPiUgZmlsdGVyKEVYUE5fR1JPVVAgPT0gIlByZS1FeHBhbnNpb24iKSksIG5yb3coZGF0YSAlPiUgZmlsdGVyKEVYUE5fR1JPVVAgPT0gIlBvc3QtRXhwYW5zaW9uIikpKSkKCnByZUV4cE5vSW5zdXJhbmNlIDwtIG5yb3coZGF0YSAlPiUgZmlsdGVyKEVYUE5fR1JPVVAgPT0gIlByZS1FeHBhbnNpb24iKSAlPiUgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoSU5TVVJBTkNFX0YgPT0gIk5vbmUiKSkKcG9zdEV4cE5vSW5zdXJhbmNlIDwtIG5yb3coZGF0YSAlPiUgZmlsdGVyKEVYUE5fR1JPVVAgPT0gIlBvc3QtRXhwYW5zaW9uIikgJT4lIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcihJTlNVUkFOQ0VfRiA9PSAiTm9uZSIpKQoKIyBTaWduaWZpY2FudCBkZWNyZWFzZSBpbiB0aGUgb3ZlcmFsbCBwcm9wb3J0aW9uIG9mIHBhdGllbnRzIHdpdGhvdXQgaW5zdXJhbmNlIGFmdGVyIEFDQSBleHBhbnNpb24gCnByb3AudGVzdChjKHByZUV4cE5vSW5zdXJhbmNlLCBwb3N0RXhwTm9JbnN1cmFuY2UpLCAKICAgICAgICAgIGMobnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUHJlLUV4cGFuc2lvbiIpKSwgbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUG9zdC1FeHBhbnNpb24iKSkpKQoKcF90YWJsZShub19FeGNsdWRlcywgc3RyYXRhID0gIkVYUE5fR1JPVVAiLCB2YXJzID0gIkRYX1JYX1NUQVJURURfREFZUyIpCgpkYXRhIDwtIGRhdGEgJT4lIG11dGF0ZShJbnN1cmVkID0gSU5TVVJBTkNFX0YgIT0gIlVua25vd24iKQoKYGBgCgoKCgojS2FwbGFuIE1laWVyIEFuYWx5c2lzCgoKIyNBbGwKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIkFsbCIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0ZhY2lsaXR5IFR5cGUKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRkFDSUxJVFlfVFlQRV9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjRmFjaWxpdHkgTG9jYXRpb24KCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIkZBQ0lMSVRZX0xPQ0FUSU9OX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNGYWNpbGl0eSBHZW9ncmFwaHkKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIkZBQ0lMSVRZX0dFT0dSQVBIWSIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0FnZSBHcm91cAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQUdFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNBZ2UgR3JvdXAKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQUdFXzQwIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjR2VuZGVyCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJTRVhfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1JBQ0VfRgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiUkFDRV9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjSGlzcGFuaWMKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIkhJU1BBTklDIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjSW5zdXJhbmNlIFN0YXR1cwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiSU5TVVJBTkNFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNPdmVyYWxsIFN1cnZpdmFsIHByZS9wb3N0LUFDQSBleHBhbnNpb24KCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIkVYUE5fR1JPVVAiLCBkYXRhX2ltcCA9IG5vX0V4Y2x1ZGVzKQpgYGAKCgo8IS0tICMjSW5jb21lIC0tPgoKPCEtLSBgYGB7cn0gLS0+CjwhLS0gY2xhc3MoZGF0YSRJTkNPTUVfRikgLS0+CjwhLS0gdW5pX3Zhcih0ZXN0X3ZhciA9ICJJTkNPTUVfRiIsIGRhdGFfaW1wID0gZGF0YSkgLS0+CjwhLS0gYGBgIC0tPgoKIyNFZHVjYXRpb24KCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIkVEVUNBVElPTl9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjVXJiYW4vUnVyYWwKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlVfUl9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQ2xhc3MgKHRyZWF0bWVudCBhdCBwZXJmb3JtaW5nIGZhY2lsaXR5KQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQ0xBU1NfT0ZfQ0FTRV9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjWWVhcgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiWUVBUl9PRl9ESUFHTk9TSVMiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNQcmltYXJ5IFNpdGUKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlNJVEVfVEVYVCIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgoKIyNIaXN0b2xvZ3kKCmBgYHtyfQojdW5pX3Zhcih0ZXN0X3ZhciA9ICJISVNUT0xPR1lfRl9MSU0iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKPCEtLSAjI0JlaGF2aW9yIC0tPgoKPCEtLSBgYGB7cn0gLS0+CjwhLS0gdW5pX3Zhcih0ZXN0X3ZhciA9ICJCRUhBVklPUiIsIGRhdGFfaW1wID0gZGF0YSkgLS0+CjwhLS0gYGBgIC0tPgoKIyNHcmFkZQoKYGBge3J9CiN1bmlfdmFyKHRlc3RfdmFyID0gIkdSQURFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNDbGluaWNhbCBUIFN0YWdlCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fQ0xJTl9UIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQ2xpbmljYWwgTiBTdGFnZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX0NMSU5fTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgo8IS0tICMjQ2xpbmljYWwgTSBTdGFnZSAtLT4KCjwhLS0gYGBge3J9IC0tPgo8IS0tIHVuaV92YXIodGVzdF92YXIgPSAiVE5NX0NMSU5fTSIsIGRhdGFfaW1wID0gZGF0YSkgLS0+CjwhLS0gYGBgIC0tPgoKIyNDbGluaWNhbCBTdGFnZSBHcm91cAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNQYXRob2xvZ2ljIFQgU3RhZ2UKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9QQVRIX1QiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNQYXRob2xvZ2ljIE4gU3RhZ2UKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9QQVRIX04iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNQYXRob2xvZ2ljIE0gU3RhZ2UKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9QQVRIX00iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNQYXRob2xvZ2ljIFN0YWdlIEdyb3VwCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fUEFUSF9TVEFHRV9HUk9VUCIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI01hcmdpbnMKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiTUFSR0lOUyIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI01hcmdpbnMgWWVzL05vCmBgYHtyfQojdW5pX3Zhcih0ZXN0X3ZhciA9ICJNQVJHSU5TX1lOIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjMzAgRGF5IFJlYWRtaXNzaW9uCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJSRUFETV9IT1NQXzMwX0RBWVNfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1JhZGlhdGlvbiBUeXBlCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJSWF9TVU1NX1JBRElBVElPTl9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCgojI0x5bXBob3Zhc2N1bGFyIEludmFzaW9uCgpgYGB7cn0KI3VuaV92YXIodGVzdF92YXIgPSAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT05fRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0VuZG9zY29waWMvUm9ib3RpYwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMF9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjU3VyZ2VyeSBSYWRpYXRpb24gU2VxdWVuY2UgCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJTVVJHX1JBRF9TRVEiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNTdXJnZXJ5IFllcy9ObwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiU1VSR0VSWV9ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1JhZGlhdGlvbiBZZXMvTm8KCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlJBRElBVElPTl9ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0NoZW1vIFllcy9ObwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQ0hFTU9fWU4iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKCiMjVHJlYXRtZW50IFllcy9ObwpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUeF9ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI01ldGFzdGFzZXMgYXQgRHgKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAibWV0c19hdF9keF9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCjwhLS0gIyNUdW1vciBTaXplIC0tPgoKPCEtLSBgYGB7cn0gLS0+CjwhLS0gdW5pX3Zhcih0ZXN0X3ZhciA9ICJUX1NJWkUiLCBkYXRhX2ltcCA9IGRhdGEpIC0tPgo8IS0tIGBgYCAtLT4KCiNUdW1vciBzcGVjaWZpYyBWYXJpYWJsZXMKCgojIyNOb2RlIFNpemUKCgojQ294IFByb3BvcnRpb25hbCBIYXphcmQgUmF0aW8KCiMjTW9kZWwgIzEKCiMjI0Z1bGwgYW5hbHlzaXMKCmBgYHtyfQptb2RlbF9vbmUgPC0gY294cGgoU3VydihEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMsIFBVRl9WSVRBTF9TVEFUVVMgPT0gMCkKICAgICAgICAgICAgICAgICAgICAgfiBTVVJHX1JBRF9TRVEgKyBJTlNVUkFOQ0VfRiArIEFHRSArIFNFWF9GICsgUkFDRV9GICsgSU5DT01FX0YgKyBVX1JfRiArCiAgICAgICAgICAgICAgICAgICAgICBGQUNJTElUWV9UWVBFX0YgKyBGQUNJTElUWV9MT0NBVElPTl9GICsgRURVQ0FUSU9OX0YsCiAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBkYXRhKQptb2RlbF9vbmUgJT4lIHN1bW1hcnkoKQoKCmBgYAoKIyMjU3VtbWFyeSBvZiBNb2RlbAoKYGBge3J9Cm1vZGVsX29uZSAlPiUKICAgICAgICB0aWR5KC4sIGV4cG9uZW50aWF0ZSA9IFRSVUUpICU+JQogICAgICAgIHNlbGVjdCh0ZXJtLCBlc3RpbWF0ZSwgY29uZi5sb3csIGNvbmYuaGlnaCwgcC52YWx1ZSkgJT4lCiAgICAgICAgcmVuYW1lKFZhcmlhYmxlID0gdGVybSwKICAgICAgICAgICAgICAgSGF6YXJkX1JhdGlvID0gZXN0aW1hdGUpICU+JQogICAgICAgIHRibF9kZiAlPiUKICAgICAgICBwcmludChuID0gbnJvdyguKSkKCmBgYAoKIyBQcmVkaWN0aW9uIExvZ2lzdGljIFJlZ3Jlc3Npb24gTW9kZWxzCgojIyBTdXJnZXJ5CmBgYHtyfQoKbm9fVWtucyA8LSBkYXRhICU+JQogIGZpbHRlcihTVVJHRVJZX1lOICE9ICJVa24iKSAlPiUgCiAgZHJvcGxldmVscygpICU+JSAKICBtdXRhdGUoU1VSR0VSWV9ZTiA9IGFzLmxvZ2ljYWwoU1VSR0VSWV9ZTikpCgpmaXRfc3VyZyA8LSBnbG0oU1VSR19URiB+IEFHRV9GICsgU0VYX0YgKyBSQUNFX0YgKyBJTkNPTUVfRiArIFVfUl9GICsKICAgICAgICAgICAgICAgICAgICAgIEZBQ0lMSVRZX1RZUEVfRiArIEZBQ0lMSVRZX0xPQ0FUSU9OX0YgKyBFRFVDQVRJT05fRiArIEVYUE5fR1JPVVAsCiAgIGRhdGEgPSBub19Va25zKQoKc3VtbWFyeShmaXRfc3VyZykKCmV4cChjYmluZCgiT2RkcyByYXRpbyIgPSBjb2VmKGZpdF9zdXJnKSwgY29uZmludC5kZWZhdWx0KGZpdF9zdXJnLCBsZXZlbCA9IDAuOTUpKSkKYGBgCgojIyBNZXRhc3Rhc2lzIGF0IFRpbWUgb2YgRGlhZ25vc2lzCmBgYHtyfQojIGxpbWl0IHRvIHRob3NlIGNhc2VzIHdoZXJlIGRhdGEgYWJvdXQgZXhwYW5zaW9uIHN0YXR1cyBpcyBhdmFpbGFibGUgKD4gQWdlIDM5LCBub24tYW1iaWd1b3VzIHN0YXR1cyBzdGF0ZXMpCgpmaXRfbWV0cyA8LSBnbG0obWV0c19hdF9keF9GIH4gQUdFX0YgKyBTRVhfRiArIFJBQ0VfRiArIElOQ09NRV9GICsgVV9SX0YgKwogICAgICAgICAgICAgICAgICAgICAgRkFDSUxJVFlfVFlQRV9GICsgRkFDSUxJVFlfTE9DQVRJT05fRiArIEVEVUNBVElPTl9GICsgRVhQTl9HUk9VUCwKICAgZGF0YSA9IG5vX0V4Y2x1ZGVzKQoKc3VtbWFyeShmaXRfbWV0cykKCmV4cChjYmluZCgiT2RkcyByYXRpbyIgPSBjb2VmKGZpdF9tZXRzKSwgY29uZmludC5kZWZhdWx0KGZpdF9zdXJnLCBsZXZlbCA9IDAuOTUpKSkKYGBg